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