从页面MVC4中读取HTML元素

时间:2013-09-19 22:17:34

标签: c# jquery html asp.net-mvc asp.net-mvc-4

我确定这是一个简单的问题,但我的视图中有一个select html元素,在页面加载后用AJAX JQUERY调用填充:

select id="CategoryList" multiple="multiple" style="width: 212px;"

这一切都工作正常和花花公子,但当我尝试将值读回控制器时,它无法找到,我已经尝试过HTTP POSTS和HTTP GETS传递特定参数或传递FormCollections但我仍然找不到这个项目。在Web表单中,我们可以将html元素标记为runat = server,这里有一个等价的东西,我可以将HTML控件绑定到页面。

我会使用@Html.ListBox()方法,但我没有显示模型中的信息而不是我真的想把这些信息放在模型中,因为它没有语法意义。

这是我的控制器

    [HttpPost]
    public ActionResult Info(FormCollection collection)
    {
          ...
    }

collection.GetValue("CategoryList")不是表单集的一部分。

感谢您的帮助,

1 个答案:

答案 0 :(得分:3)

您需要name上的select属性才能发布到服务器。任何没有名称的输入字段都不会发布。

如果你看一下ASP.NET为你做的生成的标记(WebForms和MVC),通常会给你一个同时包含idname的字段,但只有{{} 1}}当你发帖时很重要。