C# 使用Div Click事件作为UpdatePanel';扳机

C# 使用Div Click事件作为UpdatePanel';扳机,c#,asp.net,C#,Asp.net,我使用一个div作为图像按钮,因为ASP Imagebutton会在点击时产生一个闪光,不管发生什么 Div单击会引发一个服务器端事件来绑定网格,效果良好。只是整个页面都在加载。为了避免,我试着用它作为触发器 现在,它给出了错误- '正在通过RegisterAsyncPostBackControl或 RegisterPostBackControl必须实现 InAdminContainer、IpostBackDataHandler或IpostbackEventHandler' ASPX: <

我使用一个div作为图像按钮,因为ASP Imagebutton会在点击时产生一个闪光,不管发生什么

Div单击会引发一个服务器端事件来绑定网格,效果良好。只是整个页面都在加载。为了避免,我试着用它作为触发器

现在,它给出了错误-

'正在通过RegisterAsyncPostBackControl或 RegisterPostBackControl必须实现 InAdminContainer、IpostBackDataHandler或IpostbackEventHandler'

ASPX:

<div id="div1" runat="server" class="search"></div>
<asp:UpdatePanel runat="server" updatemode="conditional">
<Triggers>
  <asp:AsyncPostBackTrigger ControlID="divSearch" EventName="Click"/>
</Triggers>
<ContentTemplate>
  <asp:gridview....../>
</ContentTemplate>
</asp:UpdatePanel>
public partial class Home: System.Web.UI.Page, IPostBackEventHandler
{

    protected void Page_Load(object sender, EventArgs e)
     {
       div1.Attributes["onclick"] = ClientScript.
                                  GetPostBackEventReference(this, "div1_Click");
     }

    protected void div1_Click()
     {
       bindGrid();
     }

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

有什么办法可以让它工作吗?

您可以在更新窗格中添加一个asp按钮,这个按钮的css属性display=none,而jquery on div click则触发asp按钮单击

 <div id="jqmCollapsibleDiv" data-role="collapsible">
            <h3>Title</h3>
            <asp:UpdatePanel runat="server" ID="UpdatePannel1">
                <ContentTemplate>
                     <%-- Update pannel content --%>
                <div style="display: none">
                    <asp:Button runat="server" ID="btnTrigger" OnClick="btnTrigger_Click" />
                </div>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
如果不使用jquery mobile可折叠并使用简单html div,请向div添加一个tabindex,然后使用单击事件:

$('#simpleHtmlDiv').click(function (){
   $("#btnTrigger").click();
});

错误说明了一切:“InamingContainer、IpostBackDataHandler或IpostbackEventHandler”。请改用
asp:panel
。否。同样的事情。这对你有用吗?这是因为div标记不支持回发事件。那么如果div标记不起作用,可以使用什么呢?
$('#simpleHtmlDiv').click(function (){
   $("#btnTrigger").click();
});