【发布时间】:2014-03-28 19:17:03
【问题描述】:
我有一个问题需要帮助,我有一个来自 SqlDataSource 的 gridview 绑定:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource2">
<Columns>
<asp:CommandField ShowEditButton="true" />
<asp:BoundField DataField="DateOpened" HeaderText="DateOpened"
SortExpression="DateOpened" />
<asp:BoundField DataField="rName" HeaderText="rName" SortExpression="rName" />
<asp:BoundField DataField="DateOfArrival" HeaderText="DateOfArrival"
SortExpression="DateOfArrival"/>
<asp:BoundField DataField="Quantity" HeaderText="Quantity"
SortExpression="Quantity"/>
<asp:BoundField DataField="sName" HeaderText="sName" SortExpression="sName" />
<asp:TemplateField HeaderText="osName" SortExpression="osName">
<EditItemTemplate>
<asp:DropDownList runat="server" ID="OrderStatusDDL">
<asp:ListItem>הוזמן</asp:ListItem>
<asp:ListItem>מתעכב</asp:ListItem>
<asp:ListItem>התקבל</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("osName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
SqlDataSource:
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:igroup9_test1ConnectionString %>"
SelectCommand="spGetOrdersListForProject"
SelectCommandType="StoredProcedure" UpdateCommandType="StoredProcedure" UpdateCommand="spUpdateOrderStatus" >
<SelectParameters>
<asp:ControlParameter ControlID="ProjectIDHolder" DefaultValue=""
Name="ProjectID" PropertyName="Text" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="ProjectIDHolder" DefaultValue=""
Name="@projectid" PropertyName="Text" Type="Int32" />
<asp:ControlParameter Name="@osID" PropertyName="Text" Type="Int32"
ControlID="OrderStatusDDL" />
</UpdateParameters>
</asp:SqlDataSource>
我想编辑osName 列,当我按下Edit 按钮并尝试从下拉列表中选择不同的值时,我想更新数据库中的osId (int) 但我得到这个错误:
在 ControlParameter '@osID' 中找不到控件 'OrderStatusDDL'。
【问题讨论】:
标签: asp.net gridview sqldatasource