我正在尝试将bool从服务器绑定到标记:
<asp:BoundField DataField="RevSharePercent" HeaderText="Revenue Share Percentage"
SortExpression="RevSharePrecentage" ReadOnly="<%=SetFieldsReadOnly%>" />
但渲染显示以下错误:
Parser Error Message: Literal content ('<asp:BoundField
DataField="RevSharePercent" HeaderText="Revenue Share Percentage"
SortExpression="RevSharePrecentage" ReadOnly="') is not allowed within a
'System.Web.UI.WebControls.DataControlFieldCollection'.
Source Error:
Line 59:<AlternatingRowStyle BackColor="#E8E8E8" />
Line 60: <Fields>
Line 61: <asp:BoundField DataField="RevSharePercent" HeaderText="Revenue Share Percentage"
Line 62: SortExpression="RevSharePrecentage" ReadOnly="<%# Bind("SetFieldsReadOnly") %>" />
Line 63: <asp:BoundField DataField="ScreeningPercent" HeaderText="Screening Percentage"
SortExpression="ScreeningPercent" ReadOnly="<%# Bind("SetFieldsReadOnly") %>" />
更新 尝试“&lt;%#Bind(”SetFieldsReadOnly“)%&gt;” 和ReadOnly =“&lt;%#Eval(”SetFieldsReadOnly“)%&gt;” /&GT; 两者都不起作用
分析程序错误消息:文字内容('
来源错误:
第59行:第60行:行 61: 的SortExpression = “RevSharePrecentage” ReadOnly =“&lt;%#Bind(”SetFieldsReadOnly“)%&gt;” /&GT;第63行:
“/&gt;
答案 0 :(得分:3)
我想你需要尝试:
'<%# Bind("SetFieldsReadOnly") %>'
或
'<%# Eval("SetFieldsReadOnly") %>'
而不是
<%=SetFieldsReadOnly%>
注意Bind / Eval。
刚刚在其他网站上找到了有关语法的信息
在ASP.NET 1.1中,数据绑定标记为:
<%# DataBinder.Eval(Container.DataItem, ''expression'' ) %>
<%# DataBinder.Eval( '', '', ''format string'') %>
ASP.NET 2.0提供以下内容:
<%# Eval(''expression'') %>
<%# Eval(''expression'', ''format string'') %>
<%# Bind(''expression'') %>
<%# Bind(''expression'', ''format string'') %>
答案 1 :(得分:0)
双引号是罪魁祸首。 aspx解析器认为ReadOnly=“<%# Bind("
是属性声明和值,并与其余字符串混淆。它在属性值之后需要space
。将其更改为ReadOnly='<%# Bind("ServerProp") %>'