读书人

关于lt;%DataBinder.Eval(Container.Dat

发布时间: 2012-02-02 23:57:14 作者: rapoo

关于<%DataBinder.Eval(Container.DataItem, "name") %>的几个问题
在DataGrid中使用邦定
1。邦定给一个控件的text属性时加入了两个转义字符“=”和空格但显示出来只有空格
<asp:TemplateColumn HeaderText= "Name ">
<ItemTemplate>
<asp:HyperLink id= "Hyperlink1 " runat= "server " text= ' <%# "  " + DataBinder.Eval(Container.DataItem, "name ") %> ' cssclass= "databaseListBlack " NavigateUrl= ' <%# String.Format( "tables.aspx?database={0} ", DataBinder.Eval(Container.DataItem, "encodedname ")) %> '> </asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
2。下边将输出一个checkbox和true或flase
<asp:TemplateColumn HeaderText= "选择 ">
<HeaderStyle HorizontalAlign= "Center " Width= "40px "> </HeaderStyle>
<ItemStyle Font-Size= "X-Small " HorizontalAlign= "Center " Height= "20px " Width= "60px "> </ItemStyle>
<ItemTemplate>
<asp:CheckBox id= "grpMsgID " Checked= "False " Runat= "server "> </asp:CheckBox>
<%#(string)DataBinder.Eval(Container.DataItem, "IsRead ")== "False "? "true ": "flase "%>
</ItemTemplate>
</asp:TemplateColumn>
综合以上两个例子,修改成这样直接邦定checkbox的Enabled属性确不行了

<asp:TemplateColumn HeaderText= "选择 ">
<HeaderStyle HorizontalAlign= "Center " Width= "40px "> </HeaderStyle>
<ItemStyle Font-Size= "X-Small " HorizontalAlign= "Center " Height= "20px " Width= "60px "> </ItemStyle>


<ItemTemplate>
<asp:CheckBox id= "grpMsgID " Enabled = " <%#(bool)(DataBinder.Eval(Container.DataItem, "IsRead ")== "False "? "true ": "flase ")%> " Checked= "False " Runat= "server "> </asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
这样一来我都晕了!有哪位高手能帮忙讲清楚点吗?为什么会这样!为什么行?为什么不行?什么样行?什样不行!

[解决办法]
直接

Enabled= ' <%# ! Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "IsRead "))%> '

读书人网 >asp.net

热点推荐