我是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