Asp.net 获取隐藏字段的值

Asp.net 获取隐藏字段的值,asp.net,hidden-field,Asp.net,Hidden Field,我有一个ASP.NET页面,其中有三个隐藏字段。(如果我能让它工作的话,只要一个就行了。这只是表明我已经尝试了几件事情。) 所有三个selectedKey值均为空,但ASP.NET文本编辑中的selectedItem值有一个值 据我所知,其中一个应该有效。我错过什么了吗?如何将客户端JavaScript函数的值返回到服务器端?您的隐藏控件上有runat=server表示它们是服务器控件,您可以通过代码中的id访问它们 这样,差异将hiddenSkillId1是一个htmlserver控件,hid

我有一个ASP.NET页面,其中有三个隐藏字段。(如果我能让它工作的话,只要一个就行了。这只是表明我已经尝试了几件事情。)

所有三个selectedKey值均为空,但ASP.NET文本编辑中的selectedItem值有一个值


据我所知,其中一个应该有效。我错过什么了吗?如何将客户端JavaScript函数的值返回到服务器端?

您的隐藏控件上有
runat=server
表示它们是服务器控件,您可以通过代码中的id访问它们

这样,差异将
hiddenSkillId1
是一个htmlserver控件,
hiddenSkillId2
是一个普通html控件,而这个
hiddenSkillId3
是一个asp.net控件

string selectedKey1 = hiddenSkillId1.Value;
string selectedKey3 = hiddenSkillId3.Text;
string selectedKey2 = Request.Form[hiddenSkillId2];

因此,请尝试以这种方式使用它

这个问题与JavaScript中的大小写敏感度有关。虽然您已经为这些字段设置了.Value,但这与.Value不同。更改javascript以设置.value,您应该已经全部设置好了

<script type="text/javascript">
function SkillPartialMatchSelected(source, eventArgs )     
{
    document.getElementById("ctl00_Content_hiddenSkillId1").value = eventArgs.get_value();
    document.getElementById("hiddenSkillId2").value = eventArgs.get_value();
    document.getElementById("ctl00_Content_hiddenSkillId3").value = eventArgs.get_value(); 
} 
</script> 

函数SkillPartialMatchSelected(源、事件参数)
{
document.getElementById(“ctl00_Content_hiddenSkillId1”).value=eventArgs.get_value();
document.getElementById(“hiddenSkillId2”).value=eventArgs.get_value();
document.getElementById(“ctl00_Content_hiddenSkillId3”).value=eventArgs.get_value();
} 

您真的需要通过Request.Form获取值吗?这是否也可以:string selectedKey1=hiddenSkillId1;字符串selectedKey3=hiddenSkillId3//但是它对hiddenSkillId2不起作用,因为没有runat=server。我已经为旧的遗留系统工作了8年,现在正在学习web开发。我尝试了您根据下面的答案提出的建议,但没有成功。它运行正常,但在客户端保存的数据在服务器端看不到。我会尝试这个,但现在我有另一个问题。现在,OnClientItemSelected中JavaScript函数中的断点没有被命中。它昨天起作用了。@SteveWash请告诉我它的代码,否则如果你想把它作为一个新问题提出来,我不介意。它是一个VS设置。这必须在我昨天工作的笔记本电脑上设置为真。我现在可以调试Javascript部分(回到我的笔记本电脑上),并且它已经到达了断点。这些值正在客户端分配给隐藏字段,但在服务器端分配给“”就是这样。两个答案都是谜题的一部分,但这是我自己没有看到的部分。
protected void AddSkillToProspect(object sender, EventArgs e)
{
   string selectedKey1 = Request.Form[hiddenSkillId1.ClientID];
   string selectedKey2 = Request.Form["hiddenSkillId2"];
   string selectedKey3 = Request.Form[hiddenSkillId3.ClientID];
   string selectedItem = SkillNameBox.Text.Trim();   
   ...
}
string selectedKey1 = hiddenSkillId1.Value;
string selectedKey3 = hiddenSkillId3.Text;
string selectedKey2 = Request.Form[hiddenSkillId2];
<script type="text/javascript">
function SkillPartialMatchSelected(source, eventArgs )     
{
    document.getElementById("ctl00_Content_hiddenSkillId1").value = eventArgs.get_value();
    document.getElementById("hiddenSkillId2").value = eventArgs.get_value();
    document.getElementById("ctl00_Content_hiddenSkillId3").value = eventArgs.get_value(); 
} 
</script>