为什么不能从javascript更改asp.net中的标签文本?

时间:2017-05-26 09:01:41

标签: javascript asp.net

这是html代码:

<table align='right' >
<tr>
  <td><asp:Label ID="lblEmail" runat="server" Text=""></asp:Label></td> 
  <td > <div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark">
     </div></td>
</tr>
</table>

这是我的函数脚本:

<script>
        function onSignIn(googleUser) {
            var profile = googleUser.getBasicProfile();
             document.getElementById('lblEmail').InnerHTML = profile.getEmail();         
           // alert(profile.getEmail());

        };
    </script>

lblEmail无法显示价值,为什么?

我尝试使用提醒,它显示电子邮件确定。

5 个答案:

答案 0 :(得分:3)

使用小写i:

键入innerHTML
<script>
       function onSignIn(googleUser) {
        var profile = googleUser.getBasicProfile();
         document.getElementById('lblEmail').innerHTML = profile.getEmail();         
       // alert(profile.getEmail());

    };
</script>

答案 1 :(得分:1)

编辑2:
确保您的标签控件位于updatepanel之外。如果它在updatepanel内,那么将你的js代码放在函数下面。

int()

编辑1:
使用var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function() { // re-bind your jQuery or Javascript events here }); 代替document.getElementById('lblEmail').value 尝试使用以下代码:

document.getElementById('lblEmail').InnerHTML

答案 2 :(得分:0)

Asp.net可能已经改变了身份。尝试

@Database(entities = {YourEntity.class}, version = 1)

答案 3 :(得分:0)

profile.getEmail()函数返回任何字符串值? 如果是的话尝试:

var value = profile.getEmail(); $(&#34;#lblEmail&#34)的HTML(值);

答案 4 :(得分:0)

如果之前的答案没有帮助,您可能需要&#34;找到&#34;它在表格中使用jQuery。就像这样:

var labelValue = $("table tr td").find("#lblEmail").val(); 
window.alert(labelValue);