<EditItemTemplate> 
                        <asp:TextBox ID="TextBox2" runat="server" Width="221px" Text=' <%# Bind("f_name") %>'> </asp:TextBox> 
                    </EditItemTemplate> 
这不是有内容吗,为何说是空的?请明示,小弟刚学asp.net,谢谢

解决方案 »

  1.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Height="145px" Width="335px">
                <Columns>
                    <asp:TemplateField HeaderText="编码">
                        <EditItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text=' <%# Bind("f_id") %>'> </asp:Label>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text=' <%# Bind("f_id") %>'> </asp:Label>                        
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="姓名">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" runat="server" Width="221px" Text=' <%# Bind("f_name") %>'> </asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label3" runat="server" Text=' <%# Bind("f_name") %>'> </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView> 
      

  2.   

    gridview加上 DataKeyNames="主键"
      

  3.   

    加了也没反应
    在生成的页面中查看源代码如下:
    <table cellspacing="0" rules="all" border="1" id="GridView1" style="height:145px;width:335px;border-collapse:collapse;">
    <tr>
    <th scope="col">编码</th><th scope="col">姓名</th>
    </tr><tr>
    <td>
                            <span id="GridView1_ctl02_Label1">001</span>
                            <span id="GridView1_ctl02_Label2">Hello world</span>
                        </td><td>
                            <span id="GridView1_ctl02_Label3">Hello world</span>
                        </td>
    </tr>
    </table>TextBox根本未显示,这是为何?
      

  4.   

    <asp:TemplateField HeaderText="编码"> 
                        <EditItemTemplate> 
                            &nbsp; ??? 
                        </EditItemTemplate> 
                        <ItemTemplate> 
                            <asp:Label ID="Label1" runat="server" Text=' <%# Bind("f_id") %>'> </asp:Label> 
                            <asp:Label ID="Label2" runat="server" Text=' <%# Bind("f_name") %>'> </asp:Label> 
                        </ItemTemplate> 
                    </asp:TemplateField>模板列里的文本框被你删除了?加上去,再设置要绑定的列名称。
      

  5.   

    看名称里的EditItemTemplate,那个是有的
      

  6.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Height="145px" Width="335px">
                <Columns>
                    <asp:TemplateField HeaderText="编码">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Bind("f_id") %>'></asp:Label>
                            <asp:Label ID="Label2" runat="server" Text='<%# Bind("f_name") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="姓名">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" runat="server" Width="221px" Text='<%# Bind("f_name") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label3" runat="server" Text='<%# Bind("f_name") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
      

  7.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataTable dt = new DataTable();
                DataColumn dc1 = new DataColumn("f_name");
                dc1.Caption = "姓名";
                dt.Columns.Add(dc1);
                DataColumn dc2 = new DataColumn("f_id");
                dc2.Caption = "编码";
                dt.Columns.Add(dc2);
                DataRow dr1 = dt.NewRow();
                dr1["f_name"] = "Hello world";
                dr1["f_id"] = "001";
                dt.Rows.Add(dr1);
                GridView1.DataSource = dt;
                GridView1.DataBind();
            } 
        }<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  Width="335px">
                <Columns>
                    <asp:TemplateField HeaderText="编码">
                        <EditItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text=' <%# Bind("f_id") %>'> </asp:Label>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text=' <%# Bind("f_id") %>'> </asp:Label>                       
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="姓名">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" runat="server" Width="221px" Text=' <%# Bind("f_name") %>'> </asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label3" runat="server" Text=' <%# Bind("f_name") %>'> </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>我试过没问题
      

  8.   

    protected void Page_Load(object sender, EventArgs e)
        { 
            
            if (!IsPostBack)
            {
                gvDataBind();
            } 
        }
        public void gvDataBind()
        {
            DataTable dt = new DataTable();
            DataColumn dc1 = new DataColumn("f_name");
            dc1.Caption = "姓名";
            dt.Columns.Add(dc1);
            DataColumn dc2 = new DataColumn("f_id");
            dc2.Caption = "编码";
            dt.Columns.Add(dc2);
            DataRow dr1 = dt.NewRow();
            dr1["f_name"] = "Hello world";
            dr1["f_id"] = "001";
            dt.Rows.Add(dr1);
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            gvDataBind();
        }
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1; gvDataBind();
        }<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="f_id"
                    OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit">
                    <Columns>
                    <asp:BoundField DataField="f_id"  Visible="false"/>
                    <asp:BoundField DataField="f_name" Visible="false" />
                        <asp:TemplateField HeaderText="编码">
                        <EditItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text=' <%# Bind("f_id") %>'> </asp:Label>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text=' <%# Bind("f_id") %>'> </asp:Label>                     
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="姓名">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" runat="server" Width="221px" Text=' <%# Bind("f_name") %>'> </asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label3" runat="server" Text=' <%# Bind("f_name") %>'> </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField> 
                       <asp:CommandField ShowEditButton="true" />
                    </Columns>
                </asp:GridView>