Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 复选框itemtemplate未更新为ASP GridView_C#_Asp.net_Gridview_Checkbox - Fatal编程技术网

C# 复选框itemtemplate未更新为ASP GridView

C# 复选框itemtemplate未更新为ASP GridView,c#,asp.net,gridview,checkbox,C#,Asp.net,Gridview,Checkbox,使用ASP Gridview查询SQL server数据库 <asp:Content ID="i_cttContenu" runat="server" ContentPlaceHolderID="i_cphContenu"> <asp:SqlDataSource ID="i_sdsGvOption" runat="server" ConnectionString="<%$ ConnectionStrings:... %>" SelectCom

使用ASP Gridview查询SQL server数据库

<asp:Content ID="i_cttContenu" runat="server" ContentPlaceHolderID="i_cphContenu">
    <asp:SqlDataSource ID="i_sdsGvOption" runat="server" ConnectionString="<%$ ConnectionStrings:... %>"
        SelectCommand=" SELECT *    FROM MyTable " SelectCommandType="Text"      
        UpdateCommand="UPDATE MyTable   SET [name] = @name, prenom = @prenom, isAlive = @isAlive WHERE idWsgProgramOption = @idWsgProgramOption" UpdateCommandType="Text" 
    </asp:SqlDataSource>

    <asp:UpdatePanel ID="i_up" runat="server">
        <ContentTemplate>
            <asp:GridView ID="i_gvOption" runat="server" AutoGenerateColumns="False" DataKeyNames="idWsgProgramOption"
                DataSourceID="i_sdsGvOption" EnableModelValidation="True">

                <Columns>
                    <asp:CommandField ButtonType="Image" CancelImageUrl="~/....gif"
                        CancelText="Annuler" EditImageUrl="~/....gif" 
                        EditText="Update" HeaderText="M"  UpdateImageUrl="~/....gif"
                        UpdateText="Save">
                    </asp:CommandField>


                    <asp:TemplateField HeaderText="Nom" SortExpression="name">
                        <ItemTemplate>
                            <asp:HyperLink ID="i_hlOption" runat="server" NavigateUrl='<%# Eval("idWsgProgramOption", "~/myURL") %>'
                                Text='<%# Eval("name") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <table >
                                <tr>
                                    <td >
                                        <asp:TextBox ID="i_tbNom" runat="server" Text='<%# Bind("name") %>' />
                                    </td>
                                </tr>
                            </table>
                        </EditItemTemplate>
                    </asp:TemplateField>




                      <asp:TemplateField HeaderText="prenom" SortExpression="prenom">
                        <ItemTemplate>
                            <asp:HyperLink ID="i_hlprenom" runat="server" NavigateUrl='<%# Eval("prenom", "~/myURL") %>'
                                Text='<%# Eval("prenom") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <table >
                                <tr>
                                    <td >
                                        <asp:TextBox ID="i_tbprenom" runat="server" Text='<%# Bind("prenom") %>' />
                                    </td>
                                </tr>
                            </table>
                        </EditItemTemplate>
                    </asp:TemplateField>



         <asp:TemplateField HeaderText="Obligatoire" >
                    <ItemTemplate>
                        <asp:CheckBox ID="CB_id1" runat="server"   />
                    </ItemTemplate>   
                     <EditItemTemplate>
                          <asp:CheckBox ID="CB_id2" runat="server"  />
                         </EditItemTemplate>                   
                </asp:TemplateField>


                </Columns>

            </asp:GridView>



        </ContentTemplate>        


    </asp:UpdatePanel>
</asp:Content>
然后它会很好地更新(当然,isAlive字段除外)。 我100%确信isAlive字段存在于基(位类型)中

看来我的问题来自这个集团:

  <asp:TemplateField HeaderText="Obligatoire" >
                    <ItemTemplate>
                        <asp:CheckBox ID="CB_id1" runat="server"   />
                    </ItemTemplate>   
                     <EditItemTemplate>
                          <asp:CheckBox ID="CB_id2" runat="server"  />
                         </EditItemTemplate>                   
                </asp:TemplateField>

有什么明显的我遗漏的吗


此外,这是简化的代码,但如果我将“checked”属性设置为复选框并正确绑定,则rows复选框将正确地显示在字段中。因此,该问题不影响选择,只影响更新。

请尝试按钮列,以便指定特定的命令名

<asp:ButtonField ButtonType="Link" Text="Update" CommandName="Update" />
<asp:ButtonField ButtonType="Link" Text="Delete" CommandName="Delete" />


根据e.CommandName采取措施。

您需要将isAlive字段绑定到GridView
CheckBoxField
,如果必须,可以在连接后将其转换为模板字段。另外,我建议删除UpdatePanel,直到一切正常。
<asp:ButtonField ButtonType="Link" Text="Update" CommandName="Update" />
<asp:ButtonField ButtonType="Link" Text="Delete" CommandName="Delete" />