文本框文本改变,querystring参数没有't
本文关键字:文本 参数 改变 querystring | 更新日期: 2023-09-27 18:15:15
我使用的是带有AutoCompleteExtender的文本框。
输入零件号,点击查找-它会填满页面。我在页面上有一个按钮,它读取文本框的文本,将其用作querystring参数,并打开一个新窗口。
第一次效果很好。但我关闭了第二个窗口。添加新零件号,单击查找-它将正确地填充新信息的页面。
我点击按钮——问题来了当它打开新窗口时,它保存着原始部件号。
我已经尝试添加第二个查询字符串参数(datetime),它仍然保持相同的零件号。我还尝试将文本转移到一个隐藏的标签,并从那里阅读它(认为自动完成扩展器与它有关)。没有运气。
按钮的代码-
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;
任何建议/帮助都是非常感谢的!谢谢!
是否在其他地方填充了txtXingList ?如果是,请检查代码,它可能在按钮单击事件之前被调用。
在按钮点击之前调用一些事件。
既然你的表单肯定是一个方法="post",那么当你点击btnviewIncidents查询字符串将不会改变。如果页面加载使用查询字符串填充txtXingList,那么当按钮事件被调用时,它将包含错误的值。
页面需要完全知道您想要一个弹出式表单,即使它只是打开一个新选项卡。效果很好。
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);
}