我使用以下c#
改變從服務器端內容:調用C#則相同的元素JS
this.StatusPreview.InnerHtml = "server side";
this.StatusPreview.Update();
我使用以下js
改變對客戶端的內容:
document.getElementById('StatusPreview').innerHTML = "client side";
如果我先執行js
,則沒有問題。但是,如果我先執行c#
,則js
,我收到了,
Uncaught TypeError: Cannot set property 'innerHTML' of null
在js
線。
這是受到影響的元素:
<td id="StatusPreview" runat="server"> </td>
當我執行c#
,它改變了td
到
<span id="el_StatusPreview_container">asd</span>
有沒有辦法,讓我更新c#
第一,不轉動我的元素null
?
謝謝!
在服務器端代碼中,添加:this.StatusPreview.ClientIDMode = System.Web.UI.ClientIDMode.Static;這將告訴asp.net保持原樣,而不是重命名它。我通常使用這個在頁面上的控件,我沒有用它在服務器端,但它應該工作。 – 2014-10-27 12:36:46
@CMKanode'this.StatusPreview.ClientIDMode = System.Web.UI.ClientIDMode.Static'並未阻止元素被重命名 – starvator 2014-10-27 12:52:06
我錯過了創建新元素的部分。 – 2014-10-27 13:03:39