日期:2014-05-18  浏览次数:20411 次

CheckBox的Checked属性赋值问题——GridView中应用问题
目的:在GridView绑定数据后,在GridView中增加了一个模板列,然后将CheckBox控件拖放到ItemTemplate中。
  现在判断如果该行数据Address字段中的值为"上海",那么将复选框选中,即该行Checked="true"

结果:
HTML code
Checked="<%#(bool)(Convert.ToString(DataBinder.Eval(Container.DataItem,"Address")).Trim()=="上海")?"true":"false" %>"
这样赋值,提示错误。
不知道什么原因。


附上代码:
HTML code
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" EnableModelValidation="True" 
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:TemplateField HeaderText="注册">
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" Checked="<%#(bool)(Convert.ToString(DataBinder.Eval(Container.DataItem,"Address")).Trim()=="上海")?"true":"false" %>" />
                                              
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ProductConnectionString %>" 
            SelectCommand="SELECT * FROM [UserInfo]"></asp:SqlDataSource>
    </div>
    </form>
   </body>
</html>



------解决方案--------------------
Checked='<%#Eval("Address").ToString().Trim()=="上海"?true:false %>' />
------解决方案--------------------
Checked='<%#Eval("Address").ToString().Trim()=="上海"?"true":"false" %>' />