我是ASP.NET新手,目前在DetailsView中存在dropdownlist问题。详细信息视图DropDownLists
异常错误:System.InvalidOperationException:数据绑定方法(如Eval(),XPath()和Bind()只能用于数据绑定控件的上下文中。
我有这样的代码我的代码背后刷新列表为dropdownlists在DetailsView控件
protected void ddlVendor_SelectedIndexChanged
(object sender, EventArgs e)
{
DropDownList ddlVendorBB =
(DropDownList)DetailsView1.FindControl("VendorBUName");
if (ddlVendorBB != null)
{
Response.Write("SelectChanged");
ddlVendorBB.DataBind();
}
}
protected void SqlDataSourceProd_Selecting
(object sender, SqlDataSourceSelectingEventArgs e)
{
DropDownList ddlVendor =
(DropDownList)DetailsView1.FindControl("VendorName");
if (ddlVendor != null)
{
e.Command.Parameters["@VendorID"].Value = ddlVendor.SelectedValue;
}
}
这两个dropdownlists在DetailsView
<EditItemTemplate>
<asp:DropDownList id="VendorName"
datasourceid="VendorSqlDataSource"
AutoPostBack="true"
datatextfield="VendorName"
DataValueField="VendorID"
SelectedValue='<%# Bind("VendorID") %>'
runat="server"
OnSelectedIndexChanged="ddlCategory_SelectedIndexChanged" />
<asp:SqlDataSource ID="VendorSqlDataSource"
ConnectionString="<%$Connectionstrings:ConnectionString%>"
SelectCommand="SELECT VendorID, VendorName from MDF_Vendor"
runat="server">
</asp:SqlDataSource>
</EditItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="VendorBUName"
datasourceid="VendorBUSqlDataSource"
datatextfield="VendorBUName"
DataValueField="VendorBUID"
SelectedValue='<%# Bind("VendorBUID") %>'
runat="server"/>
<asp:SqlDataSource ID="VendorBUSqlDataSource"
runat="server"
ConnectionString="<%$Connectionstrings:ConnectionString%>"
selectcommand="SELECT VendorBUID, VendorBUName
from MDF_VendorBU
Where VendorID = @VendorID"
OnSelecting="SqlDataSourceProd_Selecting">
<SelectParameters>
<asp:Parameter Name="VendorID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
问题是:
如果我离开SelectedValue =在那里,编辑模式中的下拉列表在我第一次点击编辑时在列出的项目中选择了正确的值,但是当我选择一个新的VendorName时,我t错误“数据库方法,如Eval(),Xpath()和Bind()...”。
现在,如果我删除了下拉列表的Selectedvalued,它将在选择新的VendorName时刷新VendorBUName,但在单击“编辑”时不会选择默认的VendorID。它只列出VendorName列表而不选择当前的VendorID。
有人能让我知道我的代码有什么问题吗?谢谢!
开始可能会奏效。 – Patrick
我更新了完全异常错误。我不知道我的帖子出了什么问题。我试图尽可能地格式化。请再次看帖子,尝试评估你的措辞“你应该善待”,在那种不友善的帖子里?请...如果你想帮忙,那么非常感谢! – Milacay
我重新格式化了您的代码以说明我的意思。如果你不喜欢它,你可以自由回滚 – Patrick