2011-05-30 100 views
0

我有一個webview顯示asp.net頁面。我不能設置價值的asp.net標籤或任何控制從JavaScript調用andriod方面,但如果頁面是在HTML然後我可以設置任何HTML控制的價值。有誰知道爲什麼這個問題會發生調用Javascript方法從asp.net頁面

這裏是我的代碼:

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

您的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()); 
+0

謝謝...你可能看到我已經控制客戶端ID我的ClientIDMode =「靜態」。這不是一個問題,因爲我不能分配任何HTML標籤。 – 2011-05-30 15:01:17