获取表单以在一个字段的下拉列表或文本框之间进行选择

时间:2013-05-16 15:35:43

标签: c# html asp.net-mvc

情况:我有form需要从我的页面/视图中读取一些信息来存储它以便在按下{{1上的按钮后访问的控制器中使用}}。问题是,我有formdropdownlist,我试图用来代表textbox上的一个属性。有没有人知道如何有效地让form选择正确的控件来读取该属性?

表单的模型:

form

查看表单已打开,包括将从中读取的控件:

    public class EventListForm
    {
    public int Id { get; set; }

    [StringLength(50)]
    public virtual string Location { get; set; }

    [StringLength(100)]
    public virtual string AccessPoints { get; set; }
    }

如果使用 <% using (Html.BeginForm("Save", "Event", new { }, FormMethod.Post, new { id = "selectEditEventForm" })) { %> <table class="data-table"> <tr> <td><label for="Id" class="xl">Event:</label></td> <td><%=Html.DropDownListFor(x => x.Id, Model.Events.OrderByDescending(x => x.Value.AsDecimal()), new { @class = "info1" })%></td> </tr> <tr> <td><label for="Location" class="xl">Location:</label></td> <td><%=Html.TextBoxFor(x => x.Location, new { @class = "location info2 xl", maxlength = "250" })%></td> </tr> <tr> <td><label for ="AccessPoint" class="xl">Access Point:</label></td> <td><%= Html.DropDownListFor(x => x.Id, Model.AccessPoints.OrderByDescending(x => x.Value.AsDecimal()), new { @id = "selectAccessPoint", @class = "info2"})%></td> </tr> <tr> <td><label for ="AccessPoint" class="xl" >Or Add New:</label></td> <td><%= Html.TextBoxFor(x => x.AccessPoints, new { @id = "newAccessPoint", @class = "location info2", maxlength = "250" }) %></td> </tr> ,我已将JS包含在textbox中,如果使用了dropdownlist,则禁用dropdownlist。显然,如果textbox不在页面上,我可以让formtextbox读取,但我无法从dropdownlist读取form 1}}如果dropdownlist不在页面上。可以指出我正确的方向吗?我应该在textbox上加入另一个属性吗?

1 个答案:

答案 0 :(得分:0)

由于您不需要索引,我会沿着添加隐藏输入广告的路线向下复制提交中的下拉列表或文本框中的值。 不知道这如何适合您的使用。