从另一个事件处理程序调用事件处理程序方法并传递额外参

时间:2016-09-23 04:48:54

标签: c# asp.net events event-handling

我有两个事件处理程序方法。 Button1_Click(对象发送者,EventArgs e)提示用户单击确定/取消。如果单击确定,则会触发另一个事件方法 - HiddenButton_Click(对象发送者,EventArgs e)。 现在,问题是我在Button1_click()方法中有一些需要传递给HiddenButton_Click()方法的参数。我知道,我不应该直接从另一个方法中调用一个事件方法,并且需要在另一个方法中提取该功能。但是,我不确定正确的方法。

public partial class Test: System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {           
    }

    protected void Button1_Click(object sender, EventArgs e)
    {            
        var x = 2;
        var y = 4;
       // this event fires another event below.    
       // need to pass x & y to the event below. 
    }

    protected void HiddenButton_Click(object sender, EventArgs e, int x, int y)
    {
        var z = x + y; // need x and y values from above method here.
    }       

}

1 个答案:

答案 0 :(得分:0)

一种方法是制作y public partial class Test: System.Web.UI.Page { var x,y; protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { x = 2; y = 4; } protected void HiddenButton_Click(object sender, EventArgs e) { var z = x + y; } } 个全局变量。这样,您将可以访问同一类中所有方法的两个变量。

[
  ["2016-09-22T15:56:00.05566829Z", 12223.0],
  ["2016-09-22T17:27:16.315085913Z", 10964.0]
   ]
List<List<String>> jsonValue = JsonPath.read(json, "$.results[0].series[0].values");

            Double sum = jsonValue.stream()
                    .map(list -> list.get(1))
                    .mapToDouble(Double::parseDouble)
                    .sum();