如何从JS访问ASP.NET Literal控件的值。我有以下但它不起作用:
var companyname = document.getElementById('litCompanyName').text;
var companynumber = document.getElementById('litCompanyNumber').text;
由于
答案 0 :(得分:1)
你必须在webform / view中公开你的文字,因为你不能在.js文件中公开asp.net代码,你可以这样做:
<script>
var litCompanyName = <%= [YOUR LITERAL]; %>
</script>
然后使用它
答案 1 :(得分:0)
简短的回答是你无法做到。文字控制就是这样。 Text属性中的值是&#39;字面上&#39;输出到响应流。
您可以设置隐藏字段或使用标签。请记住,从Javascript引用ASP.NET控件,它更容易使用ClientIDMode =&#34; Static&#34;或者在带有ID的范围中包装您的文字。
例如:
litCompanyName.Text = "<span id=\"company-name\"> + Company.Name + </span>";
然后在你的JS中
var companyname = document.getElementById('company-name').text;
答案 2 :(得分:0)
在Asp.net中,当页面即将进行渲染时,它将在Html中更改其ID。 在Mozilla Firefox中使用FireBug检查页面的Html。
标签示例
<asp:Label ID="SaveTime" runat="server"></asp:Label>
var companynumber= document.getElementById('<%=SaveTime.ClientID%>').Text
和文字你需要用div或span包裹
<span id="yourId"><asp:Literal ID="SaveTime" runat="server"></asp:Literal></span>
JS:
var value= document.getElementById('yourId').innerText;
答案 3 :(得分:0)
文字控件仅存在于服务器端,当呈现页面时,它只是最终在页面中的控件文本。所以如果你有:
The company name is <asp:Literal ID="litCompanyName" runat="server" Text="Google" />
HTML代码中的所有内容都是:
The company name is Google
要从Javascript访问文本,您需要文本周围的元素,例如:
<span id="CompanyName"><asp:Literal ID="litCompanyName" runat="server" /></span>
现在,您可以使用document.getElementById('CompanyName').innerHTML
从文字中获取文字。