ASP.NET hiddenField使用ClientID获取值,使用javascript使用母版页

时间:2017-01-24 14:13:58

标签: javascript c# asp.net master-pages

我在.NET中使用母版页,我发现我无法使用ID来检索值,因为.NET会添加自己的id值。看到这篇非常有用的文章! Can't get JQuery to work in Master Page

所以我经历了所有相关领域的课程,但是当我的隐藏领域<asp:HiddenField ID="softwareSelected" value="" runat="server" />

时遇到问题

我无法在其中添加一个类,在更多Google搜索之后,我看到人们通过调用clientID来修复它。

所以我尝试了这个:

var myHidden = document.getElementById('<%= softwareSelected.ClientID %>');
console.log(myHidden.value);
alert(myHidden.value);

使用此答案:ASP.NET set hiddenfield a value in Javascript

但是它没有返回任何值,只是一个空警报和console.log。

有人能指出我正确的方向吗?这让我疯了!

修改

我在代码中将其设置得更高:

<asp:HiddenField ID="softwareSelected" ClientIDMode="static" value="test" runat="server" />

通过将ClientIDMode置于静态,我将返回undefined

然后我尝试像这样覆盖这个值:

var myHidden = document.getElementById('<%= softwareSelected.ClientID %>').value;
console.log(myHidden.value);
 myHidden.value = "tester123";
 console.log(myHidden.value);

但我仍然得到undefined:/

2 个答案:

答案 0 :(得分:2)

我测试过并为我工作过。我认为你的javascript代码在外部文件中。如果这是你必须知道

<%= softwareSelected.ClientID %>

仅适用于.aspx文件。

如果你的js脚本是.aspx文件,请测试一下:

var myHidden = document.getElementById('JsContent_ softwareSelected').value; 

如果这不起作用,您必须搜索问题的其他地方。

答案 1 :(得分:0)

<强> ASPX

<asp:HiddenField ID="softwareSelected" ClientIDMode="static" value="Hello" runat="server" />

<强> JS

var myHidden = document.getElementById('softwareSelected');
console.log(myHidden.value);
alert(myHidden.value);