我在ASP .Net Web应用程序中有一个带有几个文本框的gridview。文本框中填充了来自sql server的值。我可以在页面上选择在公司之间切换,并且PageLoad再次发生,并且从sql server填充新值。用户可以选择编辑文本框中的值,单击更新时,将在sql server上更新相同的内容。
一切正常,直到页面上某处发生回发为止。在此之后,即使我们在公司之间切换,文本框中的值仍然相同,尽管在调试时,我们看到新值正在从sql server正确传出。发生这种情况时,即使刷新页面,值仍然不会更改。
我可以解决这个问题的一种方法是,通过每次更改文本框ID,公司被切换(即tb1CompanyA到tb1CompanyB)。如果这样做,文本框在所有情况下都能正确获取其值。但问题是我有一些其他页面,这种技术无法使用。知道如何解决这个问题。 ?
我在pageLoad上使用以下代码。 dtOrginal的值是正确的,但在前端它显示不同的值
protected void Page_Load(object sender, EventArgs e)
{
DateTime dtNow = sql3.IndianTime();
DataTable dtOriginal = SetDataTable_ForGridView(dtNow);
GridView1.DataSource = dtOriginal;
GridView1.DataBind();
}
在切换公司重新加载页面后,我使用location.reload()
function changedisplayname(currobj)
{
var hotelselectedname = $(currobj).find('h4').find('span').text();
var roomselectedname = $(currobj).find('p').text();
var pathname = window.location.pathname; // Returns path only
var isCallSuccess = "false";
$.ajax({
type: "POST",
url: "index.aspx/HotelNameChange",
data: '{HotelName: "' + hotelselectedname + '",RoomName:"' + roomselectedname + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
isCallSuccess = "true";
},
failure: function (response) {
isCallSuccess = "false";
}
});
if (isCallSuccess == "true")
{
location.reload();
}
}