我有一个问题,我需要帮助,我有一个来自SqlDataSource的网格视图绑定
<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),但是我得到了以下错误:
在OrderStatusDDL '@osID‘中找不到控件'OrderStatusDDL’。
发布于 2014-03-28 19:23:48
GridView在使用MasterPage的页面上吗?如果是这样,则需要在控件前面加上ContentPlaceHolder的ID。
<asp:ControlParameter Name="@osID" PropertyName="Text" Type="Int32"
ControlID="ContentPlaceholderID$OrderStatusDDL" />发布于 2014-03-28 20:31:45
看起来,您正在尝试将OrderStatusDDL.SelectedValue的文本值传递到int字段。尝试将Type更改为string,看看这是否有帮助。
<asp:ControlParameter Name="@osID" PropertyName="Text" Type="String" ControlID="OrderStatusDDL" />我不知道这会不会有帮助,但这可能是个好的开始。
https://stackoverflow.com/questions/22721354
复制相似问题