Asp.net 将datasource绑定到edititemtemplate中的dropdownlist会创建数据绑定方法,如Eval()、XPath()和Bind()error
我的gridview包含一个名为SubPlot的列。在编辑模式下,此列应显示绑定到数据源的dropdownlist。此数据源接受一个名为@100mPlotName的参数。这是我在单击“编辑”时遇到的错误 诸如Eval、XPath和Bind之类的数据绑定方法只能在数据绑定控件的上下文中使用 ASP.NET:Asp.net 将datasource绑定到edititemtemplate中的dropdownlist会创建数据绑定方法,如Eval()、XPath()和Bind()error,asp.net,gridview,rowdatabound,Asp.net,Gridview,Rowdatabound,我的gridview包含一个名为SubPlot的列。在编辑模式下,此列应显示绑定到数据源的dropdownlist。此数据源接受一个名为@100mPlotName的参数。这是我在单击“编辑”时遇到的错误 诸如Eval、XPath和Bind之类的数据绑定方法只能在数据绑定控件的上下文中使用 ASP.NET: <asp:TemplateField HeaderText="SubPlot" SortExpression="SubPlot"> <EditItemTemplate
<asp:TemplateField HeaderText="SubPlot" SortExpression="SubPlot">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="dsSubPlotNames"
DataTextField="SiteName" DataValueField="SiteID"
SelectedValue='<%# Bind("SiteID") %>'
>
</asp:DropDownList>
<asp:SqlDataSource ID="dsSubPlotNames" runat="server"
ConnectionString="<%$ ConnectionStrings:WERCMTX %>" SelectCommand='exec [339_PPM].usp_SubPlotNames_Select null, @100mPlotName;'
CancelSelectOnNullParameter="False">
<SelectParameters name="100mPlotName" />
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("SubPlot") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
我觉得我在代码背后遗漏了什么。我的目标是在用户单击edit时显示包含数据源数据的dropdownlist。谢谢你的帮助
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
{
Label lbl100mPlot = (Label)e.Row.FindControl("lbl100mPlot");
SqlDataSource dsPlotNames = (SqlDataSource)e.Row.FindControl("dsSubPlotNames");
dsPlotNames.SelectParameters.Clear();
dsPlotNames.SelectParameters.Add("100mPlotSiteID", null);
dsPlotNames.SelectParameters.Add("100mPlotName", lbl100mPlot.Text);
}
}