asp.net
2013-03-08 51 views -3 likes 
-3
<th style="width:200px;"><asp:CheckBox ID="UtilityChanged('<%# Eval("id") %>')" runat="server" Enabled="true" onchange="UtilityChanged('<%# Eval("id") %>');" Checked='<%# Convert.ToBoolean(Eval("Checked")) %>'/></th> 

錯誤:服務器標記不正確.....我似乎無法調試它......任何幫助傢伙?獲取「服務器標記不正確」錯誤


編輯: 我註釋掉ochange,我仍然得到錯誤;

直接在此代碼之上,我使用相同的數據源綁定到不同的字段。工作正常...

<th style="width:200px;"><%# Eval("Name") %></th> 

爲什麼犯規(下同)工作.....

<th style="width:200px;"><asp:CheckBox ID='UtilityChanged<%# Eval("id") %>' runat="server" Enabled="true" Checked='<%# Convert.ToBoolean(Eval("Checked")) %>'/></th> 

回答

1

你需要使用一些字符串連接在onchange屬性:

<th style="width:200px;"><asp:CheckBox ID="CheckBox1" runat="server" Enabled="true" onchange='<%# "UtilityChanged" + (Eval("id")) %>' Checked='<%# Convert.ToBoolean(Eval("Checked")) %>' /></th> 
+0

onchange工作正常,我正在嘗試綁定的複選框的ID,請參閱編輯...感謝您的回覆 – John 2013-03-08 16:38:11

+0

啊,您不能將這樣的值分配給服務器端的ID屬性。 – 2013-03-08 16:43:37

+0

建議:我假設你需要參考'ID'屬性客戶端。不幸的是,WebForms可能會改變發出的HTML中的服務器端ID(在瀏覽器中查看該頁面的源代碼以查看此內容)。你可以添加另一個屬性,比如'data-id',並賦予'Eval(「id」)' - 然後你可以引用客戶端而不是'ID'? – 2013-03-08 16:50:03

相關問題