【问题标题】:rendering front-end of survey into an MVC app将调查的前端渲染到 MVC 应用程序中
【发布时间】:2012-04-11 06:41:56
【问题描述】:

最近我一直在观看有关 MVC 3 的 Pluralsight 介绍视频。我以前从未使用过模型视图控制方法,但我开始了解应用程序的这 3 个关键部分是如何分开的。

我创建了一个调查的前端原型,我想将其实施到我的 MVC Web 应用程序的视图中。该调查采用 HTML、CSS 格式,使用 jQuery 根据评估类型​​(6-11 个问题)提供内容更改,并使用 jQuery UI 进行几个滑块评分。

我通过教程注意到,您可以使用 HTML 表单和允许用户编辑内容的助手,但我的原型已经允许用户通过单选按钮、评论文本框和滑块进行评分。如果我只想将此员工数据存储到模型中,是否需要更改我现有的任何代码,并且根据员工通过控制器完成的调查,禁用下拉字段?

另外,我是否会将通过控制器中的 HttpPost 提交调查时的当前员工数据存储到模型中?

如果我的问题似乎含糊不清,我深表歉意。有人可以为我指出与上述需求类似的资源或文档的正确方向吗? Pluralsight 视频把我引向了错误的方向。

【问题讨论】:

    标签: html asp.net-mvc model-view-controller controller


    【解决方案1】:

    您提到的表单助手是可选的。您可以在 MVC 应用程序中使用静态 HTML 页面而没有任何问题,但这意味着一些额外的工作。

    所有助手所做的只是为您呈现 HTML,从而省去您手动编码的麻烦。

    您的表单应该有一个action 属性,您可以将其指向一个MVC 控制器URL。数据将在请求中到达您的控制器,您可以手动提取值。有很多方法可以做到这一点,包括按键提取值:

    public ActionResult HelloWorld()
    {
        ViewData["Message"] = "Hello World!";
        return View();
    }
    

    这将检索带有name="Message" 属性的表单输入的值。

    不过,收集这些值的最佳方法是允许 ASP.NET MVC 为您将它们映射到一个 .NET 对象。阅读模型绑定以了解其工作原理。

    如果你喜欢书,我强烈推荐Wrox Professional ASP.NET MVC3。它非常平易近人,将大大缩短您的学习曲线。好东西。

    【讨论】:

    • HTML 助手不是从控制器或模型中的对象“设置”数据吗?如果我只是想从用户输入中“获取”数据,这将没有任何意义。是否有任何使用 HTML Helpers 的示例有助于创建 3 个单选按钮问题。我知道您可以使用 HTML.beginform 来呈现表单,但我只是对如何呈现我通过 C# 在此表单中静态创建的内容感到困惑。
    • HTML 助手非常灵活,您可以编写自己的助手,因此您可能会看到一些使用现有数据预填充表单字段的函数。不过,这似乎不适用于您的情况。
    • 感谢您的快速示例。我将跟进 Pluralsight 中的模型绑定。
    • 许多 MVC 功能(如 HTML 助手)旨在让您以更少的代码在服务器端快速呈现 HTML。如果您打算使用 Backbone 或 jQuery 进行大量客户端工作,那么它们就不太有用了。我认为在您的三个单选按钮场景中使用它们没有多大好处。在某些服务器端验证失败并且您想要求用户更改他们输入的内容的情况下,重新填充它们会更容易。
    猜你喜欢
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    相关资源
    最近更新 更多