我有一个显示asp.net页面的webview。我不能通过Javascript调用设置值asp.net标签或来自andriod方面的任何控件,但如果页面是在html中,那么我可以设置任何html控件的值。有人知道为什么会出现这个问题
这是我的代码:
StringBuilder buf=new StringBuilder("javascript:document.getElementById('lblStartTime').innerHTML='");
buf.append(mTimeDisplay);
buf.append("';");
webview.loadUrl(buf.toString());
在aspx文件中:
<asp:Label ID="lblStartTime" runat="server" ClientIDMode="Static" Text="00:00"></asp:Label>
我已尝试过任何其他控件的asp.net甚至html标签范围。标签也是。
答案 0 :(得分:0)
您的ASP .NET控件几乎肯定与您提供的服务器端ID具有不同的客户端ID。验证这一点的简便方法是查看生成的网页的来源。
如果您使用的是.NET 4.0,则可以更好地控制ASP .NET为客户端标记创建的ID。
如果没有,每个控件的ClientID属性将告诉您客户端ID是什么。使用此代替服务器ID通过Javascript访问您的元素。
StringBuilder buf=new StringBuilder("javascript:document.getElementById('" + lblStartTime.ClientID "').innerHTML='");
buf.append(mTimeDisplay);
buf.append("';");
webview.loadUrl(buf.toString());