在页面上发生回发后文本框值未更新

时间:2017-04-19 10:35:51

标签: asp.net

我在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();
        }
        }

0 个答案:

没有答案
相关问题