在DataGrid的footer Template放一個button(CommandName =Add,CommandArgument=e,id=btnAdd),如何觸發button事件。彈出一個模態窗口。
幫忙看看下面代碼有什麼問題??Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
If e.CommandName = "Add" Then
If (Not IsClientScriptBlockRegistered("clientScript")) Then
Dim strScript As String = "<script>" + vbCrLf
strScript += "function OpenWin(){" + vbCrLf
strScript += "var str=window.showModalDialog('AuthorsSelect.aspx',document.getElementById(txtAu_id).value)" + vbCrLf
strScript += "if(str!=null) document.getElementById(txtAu_id).value=str" + vbCrLf
strScript += "}" + vbCrLf
strScript += "</script>" + vbCrLf
RegisterClientScriptBlock("clientScript", strScript)
End If
Dim buttonAdd As Button
buttonAdd = e.Item.FindControl("btnAdd")
buttonAdd.Attributes.Add("onclick", "OpenWin()")
End If
End Sub
幫忙看看下面代碼有什麼問題??Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
If e.CommandName = "Add" Then
If (Not IsClientScriptBlockRegistered("clientScript")) Then
Dim strScript As String = "<script>" + vbCrLf
strScript += "function OpenWin(){" + vbCrLf
strScript += "var str=window.showModalDialog('AuthorsSelect.aspx',document.getElementById(txtAu_id).value)" + vbCrLf
strScript += "if(str!=null) document.getElementById(txtAu_id).value=str" + vbCrLf
strScript += "}" + vbCrLf
strScript += "</script>" + vbCrLf
RegisterClientScriptBlock("clientScript", strScript)
End If
Dim buttonAdd As Button
buttonAdd = e.Item.FindControl("btnAdd")
buttonAdd.Attributes.Add("onclick", "OpenWin()")
End If
End Sub
然后在itemdatabound事件里面写
buttonAdd = (Button)e.Item.FindControl("btnAdd")
buttonAdd.Attributes.Add("onclick", "OpenWin()")
而你的是 单击按钮 --》执行后台代码 --》加入js代码——》加入客户端绑定你这样的结果很可能是点击第一次没有效果,然后第二次点击却有效果。
buttonAdd = (Button)e.Item.FindControl("btnAdd")
buttonAdd.Attributes.Add("onclick", "OpenWin()")
放在itemdataBind裡面,頁面加載時會出錯:
錯誤信息:並未將物件參考設定為物件的執行個體
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。 例外詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件的執行個體原始程式錯誤:
行 212: Dim buttonAdd As Button
行 213: buttonAdd = e.Item.FindControl("btnAdd")
行 214: buttonAdd.Attributes.Add("onclick", "OpenWin()")
行 215:
行 216: End Sub而放在itemcommand出現点击第一次没有效果,然后第二次点击才有效果。