CodeGo.net>如何从ASP.NET的scriptmanager.registerclientscript写的JavaScript确认框返回值?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CodeGo.net>如何从ASP.NET的scriptmanager.registerclientscript写的JavaScript确认框返回值?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2339字,纯文字阅读大概需要4分钟。
内容图文
![CodeGo.net>如何从ASP.NET的scriptmanager.registerclientscript写的JavaScript确认框返回值?](/upload/InfoBanner/zyjiaocheng/675/d48642522a684121925cde60041a90db.jpg)
如何从asp.net的scriptmanager.registerclientscript中编写的javascript确认框返回值?
实际上我想在gridview的文本框的文本更改事件上给出确认框.如果用户单击“是”,那么我想更新更改的值,如果用户单击“否”,则它应恢复为旧值.
我的伪代码是这样的:
Protected Sub GridViewCreateInvoice_QuantityTextChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim gr As GridViewRow
Dim i As Boolean
Dim txtqty, txtupdatedQty As TextBox
Dim txtoqty, qty As String
Dim result As MsgBoxResult
'Dim dtPOFulfillmentInfo As DataTable
Try
txtqty = DirectCast(sender, TextBox)
gr = txtqty.NamingContainer
'' txtoqty = GridViewCreateInvoice.Rows(gr.DataItem("originalqty")).ToString()
txtoqty = DataBinder.Eval(gr.DataItem, "originalqty").ToString()
qty = DataBinder.Eval(gr.DataItem, "qty").ToString()
If Not ((txtqty.Text = String.Empty And Not txtqty.Text.Trim = "" And Not txtqty.Text.Contains(" ")) And (txtoqty = String.Empty)) Then
If txtqty.Text > txtoqty Then
ScriptManager.RegisterClientScriptBlock(Page, Me.GetType(), "Confirm Quantity Changed", return confirm("Are you sure you want to continue"), True)
If i = True Then
DataBinder.Eval(gr.DataItem, "qty") = txtqty.Text
Else
txtqty.Text = DataBinder.Eval(gr.DataItem, "qty").ToString()
End If
Else
ScriptManager.RegisterClientScriptBlock(Page, Me.GetType(), "Confirm Quantity Changed", return confirm("Are you sure you want to continue"), True)
If i = True Then
DataBinder.Eval(gr.DataItem, "qty") = txtqty.Text
Else
txtqty.Text = DataBinder.Eval(gr.DataItem, "qty").ToString()
End If
End If
End If
Catch ex As Exception
Common.WriteLog(ex.Message)
Common.WriteLog((ex.StackTrace))
Response.Redirect("~/Error.aspx", False)
End Try
End Sub
解决方法:
我建议不要在TextBox的TextChanged事件上发回(AutoPostback = true).
相反,我建议在客户端进行所有操作.一种方法是处理onchange事件,以显示javascript确认并在用户单击“取消”后立即恢复旧值:
function confirmUpdate(sender,message){
var update = confirm(message);
if(update){
return true;
}else{
sender.value = sender.defaultValue;
return false;
}
}
您可以在服务器端的GridView的RowDataBound中注册此功能:
protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox txtqty = (TextBox)e.Row.FindControl("txtqty");
txtqty.Attributes.Add("onchange", "return confirmUpdate(this, 'Are you sure you want to continue')");
}
}
内容总结
以上是互联网集市为您收集整理的CodeGo.net>如何从ASP.NET的scriptmanager.registerclientscript写的JavaScript确认框返回值?全部内容,希望文章能够帮你解决CodeGo.net>如何从ASP.NET的scriptmanager.registerclientscript写的JavaScript确认框返回值?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。