Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 单击div执行服务器端代码_Asp.net_Vb.net - Fatal编程技术网

Asp.net 单击div执行服务器端代码

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','

ASPX代码

<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>