模板列里的服务器端HTML控件提示服务器标记的格式不正确的问题
在使用GridView的模板列时,有时候需要这么使用:
<asp:TemplateField>
<ItemTemplate>
<input id=ttChk name=ttChk type=checkbox value="<%#Eval("SaleOrderID") %>" onclick="OnTTTableCheck(this)" runat="server" />
</ItemTemplate>
</asp:TemplateField>
结果在运行的时候会提示说ttChk这个控件的服务器标记的格式不正确,到底哪里不正确呢?
原来问题出在双引号,把value属性的值用单引号引起来就正确了,或者说把绑定语句用单引号引起来或者不要用引号才行,用双引号就不行。对比:
value="<%#Eval("SaleOrderID") %>" (不行)
value='<%#Eval("SaleOrderID") %>' (可以)
value=<%#Eval("SaleOrderID") %> (可以)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
结果在运行的时候会提示说ttChk这个控件的服务器标记的格式不正确,到底哪里不正确呢?
原来问题出在双引号,把value属性的值用单引号引起来就正确了,或者说把绑定语句用单引号引起来或者不要用引号才行,用双引号就不行。对比:
value="<%#Eval("SaleOrderID") %>" (不行)
value='<%#Eval("SaleOrderID") %>' (可以)
value=<%#Eval("SaleOrderID") %> (可以)
![](https://www.cnblogs.com/Emoticons/tusiji/203330548.gif)
理解的越多,需要记忆的就越少