1

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

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

这一切都很好,但当我尝试将值读回控制器时找不到它,我尝试过传递特定参数或传递 FormCollections 的 HTTP POSTS 和 HTTP GETS,但我仍然找不到该项目。在 web 表单中,我们可以将 html 元素标记为 runat=server,这里是否有一个等效的东西,我可以将 HTML 控件绑定到页面。

我会使用该@Html.ListBox()方法,但模型中没有要显示的信息不是我真的想将此信息放入模型中,因为它没有语法意义。

这是我的控制器

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

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

谢谢你的帮助,

4

1 回答 1

3

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

如果您查看 ASP.NET 为您生成的标记(WebForms 和 MVC),通常它会为您提供一个包含 anid和 a的字段name,但仅name在您发布时才重要。

于 2013-09-19T22:21:45.323 回答