如何使管理员确认在网站上显示数据

本文关键字:显示 数据 网站 何使 管理员 确认 | 更新日期: 2023-09-27 18:08:50

我写了这个代码来获得admin的确认,以显示网站中的数据,但是我面临这个错误:

对象引用未设置为对象的实例。

我该如何解决这个问题?

ASPX.CS

protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection db = new SqlConnection(strcon);
    CheckBox CheckBoxImg = (CheckBox)FindControl("CheckBoxImg");
    if (CheckBoxImg.Checked == true)
    {
        db.Open();
        SqlCommand MyCMD = new SqlCommand("select max(imid) from Gallery_image", db);
        int ID = 1;
        try
        {
            ID = Convert.ToInt32(MyCMD.ExecuteScalar()) + 1;
        }
        catch(Exception ex)
        {  //Do something with exception 
           Console.Writeline(ex.Message); }
        string Sflag = string.Empty;
        Sflag ="1";
        MyCMD.CommandText = "Insert into Gallery_image (flag) Values (@flag) WHERE imid="+ID;
        MyCMD.Parameters.AddWithValue("@flag", Sflag);
        MyCMD.ExecuteNonQuery();
        db.Close();
    }
}

ASPX

<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <div class="col-lg-3">
            <asp:Image CssClass="img-responsive" ID="Image3" ImageUrl='<%#"~/gallery/" + Eval("imfilename").ToString().Trim()%>' runat="server" />
            <asp:CheckBox ID="CheckBoxImg" runat="server" />
        </div>
    </ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button1" runat="server" Text="ok" OnClick="Button1_Click" />

如何使管理员确认在网站上显示数据

控件在中继器中,您不能直接访问它。您必须循环遍历它的所有项并获得CheckBox:

foreach (RepeaterItem repeaterItem in Repeater1.Items)
{
    CheckBox CheckBoxImg = (CheckBox)repeaterItem.FindControl("CheckBoxImg");
    if (CheckBoxImg.Checked)
    {
        //your code
    }
}