0
我有一个GridView,其功能离一个SqlDataSource的发生时,它允许插入和更新数据。但是,插入数据后,用户不应编辑“UpdatedBY”。所以我增加了一个只读属性到绑定列,并将其设置为true,一旦在试图编辑/更新列以下错误:必须声明标量变量“@UpdateBY”。注意:只有当我在“UpdateBY”列上实现只读属性时才会出现错误。当删除,更新没有错误当电网,但我不希望用户能够修改UpdateBY列错误,只有只读绑定列被设置为true
超:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="Mode_ID" DataSourceID="SqlDataSource1"
AutoGenerateEditButton="True" AllowPaging="True" AllowSorting="True">
<Columns>
<asp:BoundField DataField="Mode_ID" HeaderText="Mode ID" SortExpression="Mode_ID" Visible="false" />
<asp:BoundField DataField="ShipMode" HeaderText="Ship Mode" SortExpression="ShipMode" />
<asp:TemplateField HeaderText="Active" SortExpression="Active">
<EditItemTemplate>
<asp:CheckBox ID="chkactive" runat="server" Checked='<%# Bind("Active") %>'></asp:CheckBox>
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("Active") %>'></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UpdateDate" HeaderText="Update Date" SortExpression="UpdateDate" />
<asp:BoundField DataField="UpdateBY" HeaderText="Update BY" SortExpression="UpdateBY" ReadOnly="true" />
</Columns>
</asp:GridView>
... SQL数据源:
<asp:SqlDataSource
ID="SqlDataSource1"
ConnectionString="<%$ ConnectionStrings:ShipperNotificationConnectionString %>"
SelectCommand="SELECT Mode_ID, ShipMode, Active, UpdateDate, UpdateBY FROM [ShipMode]"
UpdateCommand="UPDATE ShipMode SET [email protected],
[email protected],[email protected], [email protected]
WHERE [email protected]_ID"
InsertCommand="INSERT ShipMode (ShipMode,Active,UpdateDate,UpdateBY)
VALUES (@ShipMode,@Active,@UpdateDate,@UpdateBY)"
runat="server"
/>
我能得到一些帮助,以我缺少/不理解,请什么呢?
做工精细,感谢您的帮助 – user1724708