GridView更新在站点上工作,但在弹出窗口中不起作用

时间:2014-11-28 17:25:58

标签: c# asp.net gridview

我的GridView太大而无法在网站上显示,因此我决定在弹出窗口中显示和编辑它。 我把gridView和sqlConnection放在

里面
<div id ="popup" style="display:none; font-size:15px">
</div>

我使用此代码在按下编辑后显示网格:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        string myScript = null;
        myScript = "\n<script type=\"text/javascript\">";
        myScript += "\n$(\"#popup\").dialog({";
        myScript += "\ntitle: \"Displaying GridView Data\",";
        myScript += "\nwidth: '95%',";
        myScript += "\n});";
        myScript += "\n</script>\n";
        Page.ClientScript.RegisterStartupScript(this.GetType(), "myKey", myScript, false);
    }

当我在网站上编辑这个gridView(没有弹出窗口)时,一切正常,但是当我在弹出窗口中编辑它时,我收到更新函数发送空信息的消息:

Cannot insert the value NULL into column 'Ilosc', table 'sklepOlimpijski.dbo.Koszyk'; column does not allow nulls. UPDATE fails.
The statement has been terminated.

更新命令:

UpdateCommand="UPDATE Koszyk SET Ilosc = @Ilosc, Kwota = Produkt.Cena * @Ilosc, adresWysylki = @adresWysylki, czyWyslano = @czyWyslano, czyTowarDostepny = @czyTowarDostepny, czyOplacono = @czyOplacono FROM Koszyk INNER JOIN Produkt ON Koszyk.IdProduktu = Produkt.ID WHERE (Koszyk.ID = @ID)"

所以我认为Update命令不能从弹出窗口中获取@值。我该如何解决?

1 个答案:

答案 0 :(得分:0)

保持&#34; @&#34;在查询前面

  UpdateCommand=@"UPDATE Koszyk SET Ilosc = @Ilosc, Kwota = Produkt.Cena * @Ilosc, adresWysylki = @adresWysylki, czyWyslano = @czyWyslano, czyTowarDostepny = @czyTowarDostepny, czyOplacono = @czyOplacono FROM Koszyk INNER JOIN Produkt ON Koszyk.IdProduktu = Produkt.ID WHERE (Koszyk.ID = @ID)"