日期:2014-05-17  浏览次数:20439 次

后台给前台gridview里的控件赋值的问题
本帖最后由 bug810 于 2013-04-22 11:47:50 编辑
gridview每一行的第一列里都有一个checkbox,想在
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
给他的value赋值,该怎么操作呢,

        <asp:TemplateField HeaderText="选中">
            <ItemTemplate>
                <input id="ID" type="checkbox" runat=server />
            </ItemTemplate>
            <ItemStyle HorizontalAlign="Center" />
        </asp:TemplateField>



        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //首先判断是否是数据行
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                CheckBox ck = (CheckBox)e.Row.FindControl("ID");
                //这里应该怎么给这个checkbox的value赋值呢
            }

------解决方案--------------------
ck.value = 你想要的值?
------解决方案--------------------
首先看你能不能找到了 找到之后 checkbox.check=true or false就行了...

目测你写的方法不行
------解决方案--------------------
ck.属性名=属性值


 就行了
------解决方案--------------------
这里的CheckBox只能是
if(ck.cheked==true)
{
     //判断是否选中去获取这一行的Gridview主键值做处理,删除修改之类的。
}

------解决方案--------------------
首先添加引用:using System.Web.UI.HtmlControl;
然后获取的时候应该是:
 if (e.Row.RowType == DataControlRowType.DataRow)       
            {               
             HtmlInputCheckBox ck = e.Row.FindControl("ID") as HtmlInputCheckBox;    
                //这里应该怎么给这个checkbox的value赋值呢          
            } 

------解决方案--------------------
回复晚了  不知道有没有解决