我正在使用ASP.NET& MVC。
有一个包含某些字段的视图,然后我添加了一个HTML选择下拉菜单。我希望能够获取选择项的值而不将其包含在相应的模型中;这可能吗?何我可以在页面上引用HTML?我会用javascript吗?不知道从哪里开始
答案 0 :(得分:3)
表单发布到服务器后,您可以通过在Request对象中使用来访问控制器中的任何表单值,如下所示:
[HttpPost]
public ActionResult Edit()
{
var value = Request["MyDropDown"];
/* process and return */
}
假设Drop Down的name属性为" MyDropDown"。
在SO上查看此answer。
当然,使用"查看模型"表示在表单上提交的数据是MVC的重要组成部分,所以我会考虑这种方法并确保它是正确的做事方式。
答案 1 :(得分:0)
由于这是处理MVC,我将继续介绍一种不同的方法。
在您的视图模型中,您需要添加2个项目,1个属性用于存储选择列表的值,另一个用于实际存放选择列表中的项目。
查看模型
public class ViewModel
{
public String SelectListValue { get; set; }
public List<SelectListItem> SelectListValues { get; set; }
public ViewModel()
{
SelectListValues = new List<SelectListItem>();
SelectListValues.Add(new SelectListItem { Text = "Display Text" Value = "Some Value" });
}
}
然后在你看来
查看强>
@Html.DropDownListFor(x => x.SelectListValue, SelectListValues, null)