Asp.net
在 div click 上執行伺服器端程式碼
ASPX 程式碼
<div id="c" runat="server" onclick="loadContentFamily" onmousedown="loadContentFamily" rel="divUpdatePanel" >Family</div>伺服器端程式碼
Public Sub loadContentFamily(ByVal PageName As String) MsgBox("") PageName = "Family" Dim _con As New SqlConnection(ConfigurationManager.ConnectionStrings("LeaveDBConnectionString").ConnectionString) Dim _da As New SqlDataAdapter("SELECT PageHeader,PageContent FROM PageKeeper WHERE PageName='" & PageName & "'", _con) Dim _table As New DataTable Try _con.Open() _da.Fill(_table) _con.Close() _con.Dispose() With _table.Rows(0) h4header.InnerText = .Item(0) divUpdatePanel.InnerHtml = .Item(1) Me.Title = .Item(0) End With Catch ex As Exception MsgBox(ex.Message) divUpdatePanel.InnerText = "No Data Found" Finally _con.Close() _con.Dispose() End Try End Sub問題:
當我點擊 div 它不執行伺服器端程式碼…為什麼??任何幫助表示讚賞。
您需要引發伺服器事件,而不是客戶端事件(看起來您想非同步執行此操作)。
實現此目的的一種快速而骯髒的方法是使用隱藏的伺服器按鈕。該按鈕可以位於任何需要的位置(例如在 內部
UpdatePanel),它允許正確使用 ASP 頁面生命週期。<asp:Button runat="server" id="btnPostback" style="display:none" onclick="serverEventHandler" /> <div onclick="document.getElementById('<%= btnPostback.ClientID %>').click()">Clickable DIV</div>