0

どういうわけか非常に奇妙なエラーになります。グリッドビューが表示されません。これが私のコードです-最初は私の.aspxマークアップです:

<asp:GridView ID="Zakljucani" runat="server" AutoGenerateColumns="False" 
    onrowcommand="Zakljucani_RowCommand" PageSize="300" Height="127px" 
    style=" visibility:visible; border-color:Red" >
    <Columns>
        <asp:BoundField DataField="KorisnickoIme" HeaderText="Korisnicko ime" Visible="true" />
        <asp:BoundField DataField="Mail" HeaderText="Mail" Visible="true" />
        <asp:BoundField DataField="DatumZakljucavanja" 
                HeaderText="Datum i vrijeme zaključavanja" />
        <asp:BoundField DataField="HoursElapsed" HeaderText="Protekli sati" />
        <asp:TemplateField HeaderText="Otključaj">
            <ItemTemplate>
                <asp:Button ID="Button1" CommandArgument='<%#Eval("KorisnickoIme")%>'  runat="server" Enabled='<%#Convert.ToInt32(Eval("HoursElapsed"))>24%>' Text="Otključaj" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

そして、これは私のコードです

 protected void Page_Load(object sender, EventArgs e)
 {
     GetData();       
 }

 private void GetData()
 {
     string CS = ConfigurationManager.ConnectionStrings["Konekcija"].ConnectionString;

     using (SqlConnection con = new SqlConnection(CS))
     {
         SqlCommand cmd = new SqlCommand("SpZakljucaniRacuni", con);
         cmd.CommandType = CommandType.StoredProcedure;

         con.Open();

         Zakljucani.DataSource = cmd.ExecuteReader();
         Zakljucani.DataBind();
     }
}

private void EnableUserAccount(string UserName)
{
    string CS = ConfigurationManager.ConnectionStrings["Konekcija"].ConnectionString;

    using (SqlConnection con = new SqlConnection(CS))
    {
        SqlCommand cmd = new SqlCommand("OtkljucajZakljucaniRacun", con);
        cmd.CommandType = CommandType.StoredProcedure;

        SqlParameter paramUserName = new SqlParameter()
             {
                ParameterName = "@KorisnickoIme",
                Value = UserName
             };

        cmd.Parameters.Add(paramUserName);

        con.Open();
        cmd.ExecuteNonQuery();
    }
}

protected void Zakljucani_RowCommand(object sender, GridViewCommandEventArgs e)
{
    EnableUserAccount(e.CommandArgument.ToString());
    GetData();
}

問題は、グリッドビューが表示されないことです。今日はうまくいきましたが、後でうまくいきません。

エラーがあるのか​​、バインド時に問題があるのか​​ わかりません。間違いがあれば見つけられることを願っています。

4

1 に答える 1

1

このように SqlDataReader を追加します

    SqlDataReader DR;
    DR = cmd.ExecuteReader();
    Zakljucani.DataSource = DR;
于 2013-08-13T01:12:09.807 に答える