【问题标题】:Reading HTML Elements from the Page MVC4从页面 MVC4 中读取 HTML 元素
【发布时间】:2013-09-25 04:42:46
【问题描述】:

我确定这是一个简单的问题,但我的视图中有一个 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)
    {
          ...
    }

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

感谢您的帮助,

【问题讨论】:

  • 真的应该强烈地输入你的观点。它使您遇到的所有棘手的错误都消失了..
  • 可以帮助解决此类问题的一件事是在 Fiddler 或浏览器的网络选项卡中查看您的原始请求。如果您查看此内容,您会发现该值从未发布过,这意味着它绝对不会成为 FormCollection 的一部分。

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


【解决方案1】:

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

如果您查看 ASP.NET 为您生成的标记(WebForms 和 MVC),通常它会为您提供一个包含 idname 的字段,但只有 name 才重要发帖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2014-02-12
    • 2011-01-02
    • 1970-01-01
    • 2013-03-08
    • 2011-07-21
    • 2017-09-23
    相关资源
    最近更新 更多