我有一个包含文本框的aspx页面。用户在此页面中打开模态窗口以进行搜索并选择项目。选中后,该值将传递到aspx页面的文本框中,然后刷新。
我想要做的是在刷新后获取文本框中的值。在我的代码隐藏中它点击页面加载很好,但值总是“”而不是里面的文本。
在JS刷新该页面后,如何获取值?是将它添加到页面生命周期的右侧部分吗?
请注意,模态窗口不会通过查询字符串返回值,而是通过设置父项中框的值来实现:
window.top.document.getElementById('txtCustomerType').value = value;
然后刷新:
window.parent.location.reload();
这是我用来测试刷新(页面加载)后值是什么的代码:
protected void Page_Load(object sender, EventArgs e)
{
string test;
test = txtCustomerType.Text;
}
但是txtcustomertype.text的值即使有值,也会显示为“”。
答案 0 :(得分:1)
如果刷新页面,肯定会清除文本框值。
所以我认为您需要使用隐藏字段或删除window.parent.location.reload();
更新
protected void Page_Load(object sender, EventArgs e)
{
string test;
test = txtCustomerType.Text;
}
当你重新加载页面时,文本框值应该在那时,因为它是一个旧的文本框值,但是任何值都不会在页面加载中为新加载分配。因此,文本框在加载事件结束时刷新(重新加载)。
所以你应该这样做
protected void Page_Load(object sender, EventArgs e)
{
string test;
test = txtCustomerType.Text;
txtCustomerType.Text=txtCustomerType.Text
}
在上面的代码中,将旧文本框值分配给第二次。
如果你在文本框中使用runat服务器,那么你需要clientId来读取javascript中的文本框