情况是这样的
 在普通页面里
我的gridview 里有
        <asp:TemplateField HeaderText="选择">
                            <HeaderTemplate>
                                <input type="checkbox" id="selectall" onclick="select_all()">
                            </HeaderTemplate>
                            <ItemTemplate>
                                <asp:CheckBox ID="chkSelect" runat="server" />
                            </ItemTemplate>
                            <ControlStyle Width="10px" />
                        </asp:TemplateField>
这样的模板列
我可以用  
 for (int i = 0; i < this.defaultGrid.Rows.Count; i++)
            {
                CheckBox chk = (CheckBox)defaultGrid.Rows[i].FindControl("chkSelect");
                //在这需判断是否没有选择
                if (chk.Checked)
                {
}}
 这样来取得是否选择了
但是这个页面做为母版页的内容页的来说
就不能正确取到值了。
比如我这个
<asp:Content ID="Content1" ContentPlaceHolderID="Content" runat="Server">
</asp:Content>
应该怎么处理呢?

解决方案 »

  1.   

    page load 里面有没有 加
    if(!isPostBack)
      

  2.   

    // .aspx
    <asp:Content ID="Content1" ContentPlaceHolderID="Content" runat="Server">// 这里放置页面具体内容<asp:gridview id= ...
    <columns>
     <asp:TemplateField HeaderText="选择">
    <HeaderTemplate>
    <input type="checkbox" id="selectall" onclick="select_all()">
    </HeaderTemplate>
    <ItemTemplate>
    <asp:CheckBox ID="chkSelect" runat="server" />
    </ItemTemplate>
    <ControlStyle Width="10px" />
    </asp:TemplateField>
    ......</asp:Content>
    // .aspx.cs
    for (int i = 0; i < this.defaultGrid.Rows.Count; i++)
    {
    CheckBox chk = (CheckBox)defaultGrid.Rows[i].FindControl("chkSelect");
    //在这需判断是否没有选择
    if (chk.Checked)
    {
    }
    }
      

  3.   

    假如,我的回复,不满足 LZ 的要求,说明我没有理解 LZ 的本意LZ 的问题,帖子标题,说的是够难理解的 .....提问题,语言表达,不求绚丽多彩,至少要清楚吧?!
      

  4.   

    // .aspx
    <asp:Content ID="Content1" ContentPlaceHolderID="Content" runat="Server">// 这里放置页面具体内容<asp:gridview id="defaultGrid"
    <columns>
     <asp:TemplateField HeaderText="选择">
    <HeaderTemplate>
    <input type="checkbox" id="selectall" onclick="select_all()">
    </HeaderTemplate>
    <ItemTemplate>
    <asp:CheckBox ID="chkSelect" runat="server" />
    </ItemTemplate>
    <ControlStyle Width="10px" />
    </asp:TemplateField>
    ......</asp:Content>
    // .aspx.cs
    for (int i = 0; i < this.defaultGrid.Rows.Count; i++)
    {
    CheckBox chk = (CheckBox)defaultGrid.Rows[i].FindControl("chkSelect");
    //在这需判断是否没有选择
    if (chk.Checked)
    {
    }
    }我的写法就是这样的
    但是在
    // .aspx.cs这个文件里这样写不能正确取到值啊。