asp.net"必须声明变量@XX"错误的解决办法

5月22号做的一个实验,中间又要复习考研又要复习期末要考的专业课,所以没太作,这两天做了一下,一直被个别问题困扰,上网查了一下,又找同学问了一下,现在搞定了,本来想直接转那篇的,结果这好像不能转载哦~用自己的吧

下面是部分代码

 

 

 

<asp:GridView ID="UserDetail" runat="server" AutoGenerateColumns="False"  DataSourceID="SqlDataSource2"
         OnSelectedIndexChanged="UserDetail_SelectedIndexChanged" OnRowDataBound="UserDetail_RowDataBound"       OnPageIndexChanging="UserDetail_PageIndexChanging"
         Width="907px" AllowPaging="True" AllowSorting="True" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" >
<Columns>
               <asp:CommandField HeaderText="详情"  ShowSelectButton="True" ButtonType="Image" SelectImageUrl="~/images/detail.gif" />
               <asp:CommandField ShowEditButton="True" HeaderText="编辑" DeleteText="" ButtonType="Image"      CancelImageUrl="~/images/cancel.gif" EditImageUrl="~/images/edit.gif" UpdateImageUrl="~/images/save.gif" />
               <asp:CommandField HeaderText="删除" ShowDeleteButton="True" DeleteText="&lt;img src='images/delete.gif' border=0 title='删除' alt='删除' onclick=&quot;return confirm('确定删除?');&quot; /&gt;" />
                <asp:BoundField DataField="UserID" HeaderText="学号" ReadOnly="True" SortExpression="UserID"/>
                <asp:BoundField DataField="Username" HeaderText="姓名" SortExpression="Username" />
                <asp:BoundField DataField="UserNC" HeaderText="用户名" SortExpression="UserNC" />
                <asp:BoundField DataField="Sex" HeaderText="性别" SortExpression="Sex" />
                <asp:BoundField DataField="Department" HeaderText="院系" SortExpression="Department" />
                <asp:BoundField DataField="Subject" HeaderText="专业" SortExpression="Subject" />
                <asp:BoundField DataField="Grade" HeaderText="年级" SortExpression="Grade" />
                <asp:BoundField DataField="Class" HeaderText="班级" SortExpression="Class" />
                <asp:BoundField DataField="CreateDate" HeaderText="注册日期" SortExpression="CreateDate" />
                <asp:BoundField DataField="CheckOrNot" HeaderText="审核通过" SortExpression="CheckOrNot" />
 </Columns>

 

……

 

出现的问题1

在框里更新完以后再点击保存存不上

问题2

点击删除也没有像预计一样删除,而是出现下面的错误

无法保存更新信息是因为没有将SQLServer中的UserID设为主键。

出现必须声明变量‘@UserID’的原因网上查了一下是因为在GridView中的“DataKeyNames属性,此属性同产呗设置成数据源中字段的名称,这些字段是用于匹配该数据源中的给定行的主键的一部分。在GridView中加入DataKeyName=“UserID”属性即可。


posted @ 2009-06-05 10:42  小哈20081105  阅读(1245)  评论(0编辑  收藏  举报