【问题标题】:How to call a method that has parameters from a click event如何从点击事件调用具有参数的方法
【发布时间】:2013-06-29 03:23:41
【问题描述】:

我有一个从输出网格视图中获取列值的方法。如何在按钮单击事件中调用此方法以便可以使用列值?下面是方法和按钮点击事件。

string mailAdd;
public void get_value(object sender, GridRecordEventArgs e)
{
    mailAdd = e.Record["emailAddress"].ToString();
}


protected void btnsendMail_Click(object sender, EventArgs e)
{
    //call get_value here
}

【问题讨论】:

  • [这个之前提出的问题可能对你有帮助。][1] [1]: stackoverflow.com/questions/6349050/using-gridrecord-event-args
  • 感谢肯尼提供的链接。该链接使用的客户端方法对我来说不是很清楚。有没有办法我可以在服务器端做到这一点以及如何
  • 如果您打算从服务器端完成这一切,在我看来,您必须能够在按钮中嵌入足够的信息,以便能够从按钮的 EventArgs 构造一组 GridRecordEventArgs。如果这不可能,则需要客户端。

标签: c# asp.net function methods


【解决方案1】:

你不能'因为这个方法期望来自 Sender 的 EventArgs 在你的情况下是 Grid 对象,我推荐的是 Get_value 将 e.record["emailAddress"].toString() 设置为会话并调用按钮

public void get_value(object sender, GridRecordEventArgs e)
    {
        Session["emailAddress"]= e.Record["emailAddress"].ToString();
    }

protected void btnsendMail_Click(object sender, EventArgs e)
    {

      //you can use this  
string _myEmail=Session["emailAddress"];
     }

问候

【讨论】:

  • 感谢国王。但是当我运行代码时出现错误。这是错误“System.NullReferenceException:对象引用未设置为对象的实例。”
  • 添加断点并查看断点在哪里?哪一行?也许是 e.Record["emailAddress"]?
【解决方案2】:

是网格行的一部分吗?如果是,那么您应该使用 ItemCommand,如果按钮与网格分开,那么您可能需要(动态地)确定要从中读取电子邮件地址的行。如果你有信息,那么你可以通过行索引和列名轻松访问网格的内容,得到电子邮件地址,那么剩下的就很明显了。

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 1970-01-01
    • 2018-08-31
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多