添加值到框并使用Javascript刷新。然后在代码隐藏中获得价值

时间:2013-12-19 11:48:01

标签: c# javascript asp.net webforms code-behind

我有一个包含文本框的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的值即使有值,也会显示为“”。

1 个答案:

答案 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中的文本框