0

我在 aspx 文件中有两个字段:

<input type="text" id="tbName" runat="server"/> 
<input type="hidden" id="hfName" runat="server"/>

这个想法是使用文本框“tbName”中的文本作为我的存储过程的参数。我决定使用 javascript将其文本添加到隐藏字段“hfName”中:

document.getElementById("<%= hfName.ClientID %>").value = document.getElementById("<%= tbName.ClientID %>").value;
alert(document.getElementById("<%= hfName.ClientID %>").value);

它运作良好,隐藏字段从文本框中获取文本,该功能会发出警报。我使用隐藏字段,因为这是我在回发期间保存文本的唯一方法。

在代码隐藏中,我尝试将隐藏值从 hfName.Value 获取回文本框,但它返回空行:

tbName.Value = hfName.Value;

那么如何使用它作为参数呢?也许有更简单的方法?我不知道jquery。

4

2 回答 2

0

在您的 JavaScript 部分中,您将值从 tbName 写入 hfName,在后面的代码中从 hfName 写入 tbName。

hfName.Value = tbName.Value;

使用 jQuery,您可以解决客户端部分,例如

$("#<%= hfName.ClientID %>").val($("#<%= tbName.ClientID %>").val());
alert($("#<%= hfName.ClientID %>").val());
于 2013-04-22T07:51:30.840 回答
0

在主要的 Page_Load 过程中,我把 tbName.Value = hfName.Value; 这是我尝试使用隐藏字段 hfName.Value 中的值的唯一地方。tbName 之后未修改,应显示隐藏字段 hfName 中的文本。它没有。

当页面加载没有设置为文本框文本时,因此 tbName 和 hfName 值为空。

您可以通过将默认值设置为隐藏字段和文本字段来进行测试

<input type="text" id="tbName" runat="server" value ="txtVal"/> 
<input type="hidden" id="hfName" runat="server" value ="hftVal"/>

现在在页面加载时,您可以获得两个控件的非空值

protected void Page_Load(object sender, EventArgs e)
{
    var txtVal = tbName.Value;
    var hfVal = hfName.Value;
}
于 2013-04-22T10:38:33.713 回答