Мой MVC не так, но я предполагаю, что это все еще применимо, поскольку MVC - просто контроллер представления модели
Что если вы бросите раскрывающийся список в форму visible = true, а текстовое поле в форме visible = false.
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:TextBox ID="TextBox1" runat="server" Visible="False"></asp:TextBox>
Заполните ваше поле:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
List<int> s = Enumerable.Range(1, 10).ToList();
DropDownList1.DataSource = s;
DropDownList1.DataBind();
DropDownList1.Items.Add("Other");
}
}
Добавить событие для обработки, если кто-то выберет другое. Если они делают текстовое поле видимым:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (this.DropDownList1.SelectedItem.Text)
{
case "Other":
this.TextBox1.Visible=true;
break;
default:
this.TextBox1.Visible=false;
break;
}
}
Теперь вы можете ввести свое значение и восстановить его обратно в БД.