我有一個下拉控制這樣一個asp.net網頁:動態地從下拉列表加載特定的用戶控制在自動回發
<asp:DropDownList ID="TypeDrp" runat="server"
OnSelectedIndexChanged="LoadCorrectForm" AutoPostBack="True">
<asp:ListItem>X</asp:ListItem>
<asp:ListItem>Y</asp:ListItem>
<asp:ListItem>Z</asp:ListItem>
</asp:DropDownList>
<br />
<asp:PlaceHolder ID="PlaceHolder1" runat="server">
</asp:PlaceHolder>
我想在PLACEHOLDER1動態加載的控制回發後。這是在文件夾名爲「myControls」是這樣的:
XTypeForm.ascx
YTypeForm.ascx
ZTypeForm.ascx
我應該如何調用和正確使用? 有人告訴我使用某事像這樣:
protected void LoadCorrectForm(object sender, EventArgs e)
{
string SelectedValue = TypeDrp.SelectedItem.ToString();
Control userControl = GetSpecificUserControl(SelectedValue);
PlaceHolder1.Controls.Clear(); // Remove old user control
PlaceHolder1.Controls.Add(userControl);
}
但它有錯誤,我不知道如何改變它自己的代碼?
問題出在TypeDrp.SelectedItem.ToString() –
Item是文本和值的集合。你在哪裏放置「要加載的控件的名稱」的值。如果它處於下拉列表的值中,則將其替換爲選定的值。 –