2015-04-15 37 views
0

我正在使用更新面板,其中我有一個div,我作爲runat服務器。我想將onclick事件添加到div。我可以通過回發選項看到StackOverflow的一些建議。因爲,我使用更新面板,我不希望整個頁面再次加載。有什麼辦法可以做到這一點?div runat服務器onclick無後處理後端

我的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 
+0

可能你應該看看Ajax? –

+0

使用DIV,onclick是客戶端觸發器。你需要OnServerClick和DIV html元素不支持。你爲什麼試圖使用DIV?你想達到什麼目的?你可以嘗試使用ANCHOR(A),runat =「server」來包裝你的div,並使用onserverclick。 – Daved

+0

@Daved:我正在學習這些東西。我可以爲事件做所有與ASP元素的東西。使用runat服務器時,我可以爲後端的div元素提供樣式。但我無法將事件偵聽器添加到updatepanel內的div,而無需回發。 –

回答

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更改文本。