文本框文本更改,查询字符串参数没有

时间:2013-05-23 15:09:59

标签: c# asp.net caching querystringparameter

我正在使用带有AutoCompleteExtender的文本框。

输入部件号,单击“查找” - 填写页面。 我在页面上有一个按钮,用于读取文本框的文本,将其用作查询字符串参数,并打开一个新窗口。

第一次工作很棒。但 我关闭了第二个窗口。 添加新的部件号,单击“查找” - 它会在页面中填入正确的新信息。

我点击按钮 - 这是问题 - 它在打开新窗口时保持原始部件号。

我尝试添加第二个查询字符串参数(日期时间),它仍然保留相同的部件号。我也尝试将文本转移到隐藏标签,然后从那里读取(认为autocompleteextender与它有关)。没有运气。

这是按钮的代码 -

protected void btnViewIncidents_Click(object sender, EventArgs e)
    {
        try
        {
            string strDOT = txtXingList.Text;
            DateTime DT = DateTime.Now;
            btnViewIncidents.Attributes.Add("onclick","window.open('Incidents.aspx?DOT=" + strDOT + "&DT=" + DT + "'); return false;");
        }
        catch (Exception ex)
        {
            throw (ex);
        }
    }

和第二页检索参数的代码

string Crossing = Page.Request.QueryString["DOT"];
        string DT = Page.Request.QueryString["DT"];
        txtXingList.Text = Crossing;

非常感谢任何建议/帮助!谢谢!

2 个答案:

答案 0 :(得分:0)

txtXingList是否在其他地方填充?如果是,请检查代码,可能会在按钮单击事件之前调用它。

在点击按钮之前调用某些事件。

由于您的表单肯定是method =“post”,因此当您单击btnviewIncidents时,查询字符串将不会更改。 如果页面加载使用查询字符串来填充txtXingList,那么当调用按钮事件时,它将包含错误的值。

答案 1 :(得分:0)

页面需要知道您想要一个弹出窗体,即使它只是打开一个新选项卡。工作就像一个魅力。

        try
        {
            string strDOT = txtXingList.Text;
            DateTime DT = DateTime.Now;

            string newWin = "window.open('../Application/AppsSB.aspx?DOT=" + strDOT + "&DT=" + DT + "');";

            ClientScript.RegisterStartupScript
             (this.GetType(), "pop", newWin, true);
        }
        catch (Exception ex)
        {
            throw (ex);
        }