我确定这是一个简单的问题,但我的视图中有一个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")
不是表单集的一部分。
感谢您的帮助,
答案 0 :(得分:3)
您需要name
上的select
属性才能发布到服务器。任何没有名称的输入字段都不会发布。
如果你看一下ASP.NET为你做的生成的标记(WebForms和MVC),通常会给你一个同时包含id
和name
的字段,但只有{{} 1}}当你发帖时很重要。