div runat server onclick在后端没有回发句柄

时间:2015-04-15 03:45:48

标签: html asp.net vb.net

我正在使用更新面板,其中我有一个div作为runat服务器。我想将onclick事件添加到div中。我可以从StackOverflow看到一些带回发选项的建议。因为,我使用更新面板,我不希望再次加载整个页面。有没有办法实现这个目标?

我的ASPX代码:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
            <div runat="server" id="mydiv" onclick="mydiv_click">
            </div>
</ContentTemplate>
</asp:UpdatePanel>

我的代码背后的内容:

Sub mydiv_click(sender As Object, e As EventArgs)
   //my function definitions here
End Sub

1 个答案:

答案 0 :(得分:1)

使用DIV,onCLick是客户端触发器。您需要OnServerClick才能触发服务器端单击事件。虽然可能有更好的方法取决于您要完成的任务,但是将此示例作为实现相同效果的一种方法,尽管使用锚元素而不是div来处理“onserverclick”。

ASPX:

<asp:ScriptManager runat="server" ID="scripman1" />
<asp:UpdatePanel runat="server" ID="update1" ChildrenAsTriggers="true" UpdateMode="Always">
    <ContentTemplate>
        <a href="#" runat="server" id="somewrapper" onserverclick="somewrapper_ServerClick">
            <div runat="server" id="something">
                Something here
            </div>
        </a>
    </ContentTemplate>
</asp:UpdatePanel>

VB代码:

Protected Sub somewrapper_ServerClick(sender As Object, e As EventArgs)
    something.InnerText = "This is another test of mine."
End Sub

最终结果应该是DIV中的文本在没有整页帖子的情况下发生变化。