gpt4 book ai didi

asp.net - 单击按钮如何重新加载同一页面,如何使用数据库中的数据并忽略更改

转载 作者:行者123 更新时间:2023-12-04 03:39:52 25 4
gpt4 key购买 nike

我有一个带转发器控件的aspx页面,用于显示数据。用户可以修改转发器中的数据,但是只有按下SAVE按钮后数据才能保存。
我在页面上还有一个UNDO按钮。如果用户单击此按钮,我想重新加载页面并放弃用户所做的更改(类似于MS Office中的UNDO功能)
我需要向他显示与首次加载页面时显示的数据相同的数据。

请帮助我。

谢谢 !

最佳答案

这行代码将按原样读取url,然后将您重定向到同一页面,而无需发布新帖子。将其放在按钮单击上,后面的代码上。

Response.Redirect(Request.RawUrl);

P.S.如果您仅发布内容,则输入控件将保留其数据,因此您需要从头开始使用重定向重新加载页面。如果不进行重定向,则需要处理控件并清除它们。

另外,您可以避免回发和往返服务器,并可以使用javascript在客户端使用javascript代码调用 OnClientClick="return ReloadPage();"来执行相同的操作:
function  ReloadPage()
{
top.location.replace( updateURLParameter(document.location.href, "_rnd", Math.random()) );
return false;
}
//
// this function is an improved version of
// http://stackoverflow.com/a/10997390/159270
//
function updateURLParameter(url, param, paramVal)
{
var TheAncor = null;
var newAdditionalURL = "";
var tempArray = url.split("?");
var baseURL = tempArray[0];
var additionalURL = tempArray[1];
var temp = "";

if (additionalURL)
{
var tmpAncor = additionalURL.split("#");
var TheParams = tmpAncor[0];
TheAncor = tmpAncor[1];
if(TheAncor)
additionalURL = TheParams;

tempArray = additionalURL.split("&");

for (i=0; i<tempArray.length; i++)
{
if(tempArray[i].split('=')[0] != param)
{
newAdditionalURL += temp + tempArray[i];
temp = "&";
}
}
}
else
{
var tmpAncor = baseURL.split("#");
var TheParams = tmpAncor[0];
TheAncor = tmpAncor[1];

if(TheParams)
baseURL = TheParams;
}

if(TheAncor)
paramVal += "#" + TheAncor;

var rows_txt = temp + "" + param + "=" + paramVal;
return baseURL + "?" + newAdditionalURL + rows_txt;
}

上面的代码将一个随机数添加到url的末尾,或者更新它(如果存在)以避免将页面保留在缓存中。如果大家都准备避免将页面保留在高速缓存中,则可以执行此操作,而无需使用额外的random参数。

关于asp.net - 单击按钮如何重新加载同一页面,如何使用数据库中的数据并忽略更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9078728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com