从Controller中的View中读取HTML值

时间:2014-12-12 18:01:39

标签: javascript html asp.net-mvc

我正在使用ASP.NET& MVC。

有一个包含某些字段的视图,然后我添加了一个HTML选择下拉菜单。我希望能够获取选择项的值而不将其包含在相应的模型中;这可能吗?何我可以在页面上引用HTML?我会用javascript吗?不知道从哪里开始

2 个答案:

答案 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)