Asp.net 如何在更新数据库后发送警告消息并更新页面

Asp.net 如何在更新数据库后发送警告消息并更新页面,asp.net,Asp.net,我有这个页面,你可以“编辑”用户的数据。。。我想发送一条类似“编辑成功”的消息,并用新内容(下拉列表和文本框)更新页面 我用这个来传递信息: ScriptManager.RegisterStartupScript(此,typeof(Page),“警报”,“警报('Edited Successfully!”);”,true) 为了更新页面,我尝试了:Response.Redirect(Request.RawURl)甚至一个简单的Response.Redirect(~/page.aspx)也不起作用

我有这个页面,你可以“编辑”用户的数据。。。我想发送一条类似“编辑成功”的消息,并用新内容(下拉列表和文本框)更新页面

我用这个来传递信息:

ScriptManager.RegisterStartupScript(此,typeof(Page),“警报”,“警报('Edited Successfully!”);”,true)

为了更新页面,我尝试了:
Response.Redirect(Request.RawURl)
甚至一个简单的
Response.Redirect(~/page.aspx)
也不起作用

如果我尝试这种方式,它会更新页面,但不会显示警报\ 所有这些数据(填充下拉列表、文本框等)都在加载页面上调用。在发送消息后,我尝试调用相同的方法,但它没有更新=\


有什么想法吗?

您面临的问题是因为您正在重新加载页面,所以您注册的脚本丢失了

我在这种情况下使用的一种方法是使用和对话框:

在页面中,放置一个div作为消息容器。它最初是隐藏的,并将在完成数据库请求后显示:

<div id="modal" title="Alert" style="display: none;">
</div>
对话框
函数负责使用jQuery UI库显示对话框。
按钮
参数显示按下时刷新页面的按钮

您只需使用
RegisterStartupScript
方法注册对话框脚本:

ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "showConfirmation('Edited Successfully !');", true);
如果您没有使用jQuery和/或jQuery UI,那么您所要做的就是在head标记中添加引用。如果不想使用,请将文件下载到本地站点

  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>  
  <script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
  <link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">


您可以看到客户端行为的一个工作示例

您面临的问题是因为您正在重新加载页面,所以您注册的脚本丢失了

我在这种情况下使用的一种方法是使用和对话框:

在页面中,放置一个div作为消息容器。它最初是隐藏的,并将在完成数据库请求后显示:

<div id="modal" title="Alert" style="display: none;">
</div>
对话框
函数负责使用jQuery UI库显示对话框。
按钮
参数显示按下时刷新页面的按钮

您只需使用
RegisterStartupScript
方法注册对话框脚本:

ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "showConfirmation('Edited Successfully !');", true);
如果您没有使用jQuery和/或jQuery UI,那么您所要做的就是在head标记中添加引用。如果不想使用,请将文件下载到本地站点

  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>  
  <script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
  <link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">


您可以看到客户端行为的工作示例

您可以使用jquery alert messages@SizS我对Javascript一无所知,我猜jquery会更复杂;你是怎么想的?你用什么工具来更新数据的?比如FormViewWell,我有我的文本框/下拉列表,我只是用变量来获取它的值,然后用MySql将代码插入数据库中C#。。。WebPageI如果您不熟悉java脚本,我可以建议您使用最简单的方法:将面板(或文字)放在您的aspx上(初始可见=false),在更新事件集上可见=true您可以使用jquery警报消息@siz我对Javascript一无所知,我想jquery会更复杂;你是怎么想的?你用什么工具来更新数据的?比如FormViewWell,我有我的文本框/下拉列表,我只是用变量来获取它的值,然后用MySql将代码插入数据库中C#。。。WebPageI如果您不熟悉java脚本,我可以建议您使用最简单的方法:将面板(或文字)放在您的aspx上(初始可见=false),放在您的更新事件集上visible=true。我开始学习Jquery。我只是不明白一件事,你的
注册表startupscript
和我的有什么区别?为什么它会显示不同的内容?因为在您的代码中,您调用浏览器默认的
警报
,它只显示一条消息(它的按钮没有回调)。我的代码显示一个定制的对话框,用HTML构建,它允许您在点击按钮时调用任何Javascript函数。在本文中,我添加了使用Javascript刷新页面的代码,但您可以使用相同的按钮向服务器发回,并使用
Response.Redirect
page\u Load
中重新加载页面。(注意,
RegisterStartupScript
的第三个参数,在我的示例中是调用
showConfirmation()
,而不是
alert()
)。明白了!Thanks@MarcusVinicius!我真的很感谢你的帮助。我现在就要测试它,一完成这里,我就会回来并留下反馈。我正在开始学习Jquery。我只是不明白一件事,你的
注册表startupscript
和我的有什么区别?为什么它会显示不同的内容?因为在您的代码中,您调用浏览器默认的
警报
,它只显示一条消息(它的按钮没有回调)。我的代码显示一个定制的对话框,用HTML构建,它允许您在点击按钮时调用任何Javascript函数。在本文中,我添加了使用Javascript刷新页面的代码,但您可以使用相同的按钮向服务器发回,并使用
Response.Redirect
page\u Load
中重新加载页面。(注意,
RegisterStartupScript
的第三个参数,在我的示例中是调用
showConfirmation()
,而不是
alert()
)。明白了!Thanks@MarcusVinicius!我真的很感谢你的帮助。我现在就测试一下,一完成这里,我就会回来并留下反馈。