【问题标题】:Raise post back event on click of div tag just like Asp button click在单击 div 标签时引发回发事件,就像单击 Asp 按钮一样
【发布时间】:2014-11-08 10:32:36
【问题描述】:

我想在点击 div 标签时引发回发事件,就像我们正在使用 Asp 按钮一样。

目前我正在尝试这样。

 protected void Page_Load(object Sender, EventArgs E)
 { 
  MyDiv.Attributes["onclick"] = 
              ClientScript.GetPostBackEventReference(this, "MyDiv_Click");
}

public void RaisePostBackEvent(string eventArgument)
{
      if (!string.IsNullOrEmpty(eventArgument))
            {
                if (eventArgument == "MyDiv_Click")
                {
                    MyDiv_Click();
                }
            }
        }

protected void MyDiv_Click()
{
// My Implementation
}

怎么做?

【问题讨论】:

  • 抱歉,这不是在这里提问的好方法。到目前为止,您是否尝试过任何方法来解决您的问题?首先展示你的努力,这样人们才能展示他们的努力。请阅读FAQHow to Askhelp center
  • 我正在尝试使用 RaisePostBackEvent 但它没有触发事件
  • @Srinivas 请看这个链接:stackoverflow.com/questions/9294626/…
  • @NiMa 检查了该链接,但在我的要求中,我不想使用其他控件。

标签: c# asp.net dopostback


【解决方案1】:

您需要在Page_PreRenderPage_Load注册GetPostBackEventReference,检查 Request["__EVENTARGUMENT"],如果是 MyDiv_Click 并且页面被回发,则调用 MyDiv_Click

完整代码

protected void Page_PreRender(object sender,EventArgs e)
{
    MyDiv.Attributes["onclick"] =
        ClientScript.GetPostBackEventReference(this, "MyDiv_Click");
}

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack && Request["__EVENTARGUMENT"] != null && Request["__EVENTARGUMENT"] == "MyDiv_Click")
    {
        MyDiv_Click();
    }
}

截图 -

【讨论】:

    猜你喜欢
    • 2016-02-19
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多