很抱歉,如果我没有解释清楚。
使用ASP.NET C#创建一个网站,我有一个页面用于将数据插入SQL Server,其中有几个TextBox控件,需要输入插入数据。
一切正常用于在SQL中插入数据,数据被发送到一个类,使用存储过程插入以使用" TextBox.Text = string.Empty"删除TextBox控件的内容端。 。作品优秀的一切都被抹去了。检查调试模式以及是否删除TextBox控件的内容。
但是如果刷新页面,那么将数据发送到要插入的类的方法会自动运行;如果控件是空的但被忽略,则验证必须保持不变。查看调试模式以再次查看它以使用刚刚删除的相同数据进行刷新控制。
为什么会发生这种情况,我该如何解决呢?
答案 0 :(得分:0)
刷新页面时,在不同情况下会发生不同的事情。
如果页面是作为对帖子/回发的响应而创建的,则发布的数据将再次发送到服务器以请求页面。这意味着服务器代码的反应与首次创建页面时的反应相同,包括例如保存表单数据或从数据库中获取新数据。
如果要阻止在刷新时重新发送表单数据,则可以在服务器对表单提交做出反应时执行Response.Redirect
。这将使浏览器执行GET
请求以获取页面,因此不会重新发布表单数据。
不同的浏览器在请求中处理表单数据的方式略有不同。大多数浏览器都会在某种程度上记住表单数据,因此当您刷新页面时,浏览器可能会记住某些表单数据,并将替换服务器在表单字段中放置的值。
如果刷新页面进行测试,可以使用ctrl+F5
告诉浏览器进行“清理刷新”,即从服务器获取所有内容而不是使用缓存中的数据,并且不填写保存数据的表单。