2012-08-08 95 views
0

我无法获取标签中的JavaScript变量值。我正在尝试在Windows应用程序。无法使用隐藏字段来获取变量的值。我尝试了下面的代码,但价值并没有进入标签。在标签中获取javascript变量值

document.getElementsByTagName('label3').Text=checkedIDs;//In java script 
string val = label3.Text.Tostring();//This is how i'm trying to get label3 value. 

我试过所有的答案,但我没有在label3中获得任何价值。

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0]; 
     HtmlElement scriptEl = webBrowser1.Document.CreateElement("script"); 
     IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement; 
     element.text = " function sayHello(){var indices = [0,1];var checkedIDs = getCheckedResumeIDs(indices);if(checkedIDs.length == 0){alert('Please select at least one.');return false;}document.getElementById(\"<%=label3.ClientId%>\").value = checkedIDs;}"; 
     head.AppendChild(scriptEl); 
webBrowser1.Document.InvokeScript("sayHello"); 

我正在向网页中注入JavaScript并尝试获取函数的结果。

+0

在javascript你用'node.innerHTML + = value'设置了一个标签的文本。 – bokonic 2012-08-08 05:17:01

+1

请向我们展示生成的HTML(浏览器看到的)。 – jfriend00 2012-08-08 05:18:18

+0

您似乎试图在同一行中混合使用JS和C#,但这没有帮助。 '.getElementsByTagName()'返回一个你像数组一样访问的匹配元素的列表,但是你真的有一个标签名为“label3”的元素吗? (如'内容'。) – nnnnnn 2012-08-08 05:21:44

回答

0

如果我有你的权利,你需要改变第一线

document.getElementById("<%=label3.ClientId%>").value=checkedIDs; 
0

你是混合这是错误的事情在同一行既c#javascript功能。

您正在使用getElementsByTagName需要名称分配到该Label

如果label3是在C#中Label则代码应该是这样的:

document.getElementsById('<%= label3.ClientID %>').value = checkedIDs; 

现在,您将获得在label3值,你可以尽管C#代码访问像你这样做。

0

它错了,你使用了错误的

变化document.getElementsById

document.getElementById 

的元素,而不是元素

所以这样

document.getElementById("<%=label3.ClientId%>").value = checkedIDs;