Asp.net 单击div执行服务器端代码
ASPX代码Asp.net 单击div执行服务器端代码,asp.net,vb.net,Asp.net,Vb.net,ASPX代码 <div id="c" runat="server" onclick="loadContentFamily" onmousedown="loadContentFamily" rel="divUpdatePanel" >Family</div> 问题: 当我点击div时,它不会执行服务器端代码…为什么?感谢您的帮助。查看这篇文章 你的看起来像 <div id="c" onclick="__doPostBack('loadContentFamily','
<div id="c" runat="server" onclick="loadContentFamily" onmousedown="loadContentFamily" rel="divUpdatePanel" >Family</div>
问题:
当我点击div时,它不会执行服务器端代码…为什么?感谢您的帮助。查看这篇文章
你的看起来像
<div id="c" onclick="__doPostBack('loadContentFamily','')">
Family
</div>
家庭
编辑:
试试像这样的东西
<Triggers>
<asp:AsyncPostBackTrigger ControlID="c" EventName="Click" />
</Triggers>
另一种方法是调用Javascript函数,然后进行page方法调用。以xml的形式返回数据并在div中呈现。我建议不要使用UpdatePanel控件,而是使用jQuery。您可以找到一个示例您需要引发一个服务器事件,而不是客户机事件(看起来您希望异步地这样做)
解释如何将代码片段附加到客户端元素(如DIV
)并导致异步回发
实现这一点的另一种快速而肮脏的方法是使用隐藏的服务器按钮。该按钮可以位于任何需要的位置(例如UpdatePanel
)内,并允许正确使用ASP页面生命周期
<asp:Button runat="server" id="btnPostback" style="display:none" onclick="serverEventHandler" />
<div onclick="document.getElementById('<%= btnPostback.ClientID %>').click()">Clickable DIV</div>
可点击DIV
将div包装在LinkButton控件中,并在LinkButton的OnClick事件上调用loadContentFamily方法。这对我有用我可以将其添加到更新面板的触发器部分吗?它不显示触发器列表。此div位于更新面板内,但单击它会重新加载整个页面。
<asp:Button runat="server" id="btnPostback" style="display:none" onclick="serverEventHandler" />
<div onclick="document.getElementById('<%= btnPostback.ClientID %>').click()">Clickable DIV</div>