我今天的第二个问题。我真的卡住了。 好的,我在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。
答案 0 :(得分:0)
在JavaScript部分中,您将tbName中的值写入hfName,后面的代码从hfName到tbName。
hfName.Value = tbName.Value;
使用jQuery,您可以解决客户端部分,如
$("#<%= hfName.ClientID %>").val($("#<%= tbName.ClientID %>").val());
alert($("#<%= hfName.ClientID %>").val());
答案 1 :(得分: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;
}