[英]Detailsview in ASP.Net cancel default editMode on client side
[英]ASP.net VB DetailsView insert : javascript Postback on Cancel issue
在我的ASP.net應用程序中,在Detailsview上使用ItemInserting,我正在使用javascript函數向用戶顯示確認框。 確認框基本上顯示來自數據庫的查詢結果。
此工作正常,除了即使用戶單擊“取消”也會發生回發。
我確定我在這里缺少基本知識,專家可以幫忙嗎? 感謝您的答復。 我確實在整個網站上進行了搜索,但是大多數解決方案都使用按鈕上的onClick事件。 我不確定如何在這里工作。
更新:基於TheGeekYouNeed建議,我嘗試在腳本中添加一個條件。 現在彈出窗口不再顯示了。 任何人?
Protected Sub CustomerDetail_ItemInserting(sender As Object, e As System.Web.UI.WebControls.DetailsViewInsertEventArgs)
Dim args As String = e.Values("WriteID").ToString()
For Each drv As Data.DataRowView In SqlDataSource3.[Select](DataSourceSelectArguments.Empty)
If drv("WriteID") = args Then
Dim ConnString As String = "Data Source=75409CHQ4034\SQLEXPRESS;Initial Catalog=ExpenseTracker;Integrated Security=True"
Dim SQLConn As New SqlConnection()
Dim SQLCmd As New SqlCommand()
Dim SQLdr As SqlDataReader
SQLConn.ConnectionString = ConnString 'Set the Connection String
SQLConn.Open() 'Open the connection
SQLCmd.Connection = SQLConn 'Sets the Connection to use with the SQL Command
SQLCmd.CommandText = "Select Top 1 Budget - Difference as 'Remaining' FROM ExpenseImageAudit where WriteID =" + "'" + args + "' Group by ID, Budget-Difference order by ID desc "
'Sets the SQL String
SQLdr = SQLCmd.ExecuteReader 'Gets Data
While SQLdr.Read() 'While Data is Present
TextBox8.Text = SQLdr("Remaining")
Dim script As String = String.Format("<script type='text/javascript'>confirmBudget({0});</script>", TextBox8.Text)
Page.ClientScript.RegisterStartupScript(Me.[GetType](), "script", script)
End While
SQLdr.Close() 'Close the SQLDataReader
SQLConn.Close() 'Close the connection
End If
Next
End Sub
腳本:
<script type="text/javascript">
function confirmBudget(amount) {
return confirm('Based on your last transaction, your amount left is' + amount + '. Do you want to proceed?');
}
</script>
將此腳本放在aspx頁面的頭部。
<script type="text/javascript">
function confirmBudget(amount)
{
if(confirm('Based on your last transaction, your amount left is' + amount + '. Do you want to proceed?'))
{
document.getElementById("btnDoSomethingOnOK").click();
}
}
</script>
從服務器端代碼這樣調用它:
string script = string.Format("<script type='text/javascript'>confirmBudget({0});</script>", TextBox8.Text);
Page.ClientScript.RegisterStartupScript(this.GetType(), "script", script);
對不起,C#語法。 我不知道vb。
在您的Javascript中,返回答案。
Dim script As String = "<script language='javascript'>var a=' " + TextBox8.Text & "'; var answer = confirm('Based on your last transaction, your amount left is '+ a + '. Do you want to proceed?'); return answer; </script>"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.