【问题标题】:ASP.NET MVC form with validation WITHOUT using Html.BeginForm带有验证的 ASP.NET MVC 表单,不使用 Html.BeginForm
【发布时间】:2012-04-21 17:06:45
【问题描述】:

我无法在 ASP.NET MVC 中制作自己的表单并进行验证。我想完全使用 html 和 javascript 制作表单,但是当我在我的 asp.net mvc 网站上查看时,我在互联网上找到的每个示例都不起作用。

我有这个 jsFiddle:http://jsfiddle.net/epic720/V3p9f/

在我将它粘贴到我的 mvc 站点上的页面之前,它工作得很好。输入周围有一个红色边框,但没有创建错误消息标签。

我在 web.config 中将 ClientValidationEnabled 和 UnobtrusiveJavaScriptEnabled 设置为 false。

编辑:我将项目中的 jquery 副本替换为最新版本的 jquery,现在我不再遇到此问题。

【问题讨论】:

  • 为什么不想使用 Html.BeginForm?
  • 我想保留所有基于 html 和 javascript 的内容,因为我不确定我的项目是否会保留在 ASP.NET MVC 中并且我希望它是一个可移植的界面。
  • 那么你并不是真的在做 MVC。看,MVC 要求你有一个实际的视图,如果你的“视图”只是你通过 ajax 填充的 html,那么它就不是一个视图。如果您不打算利用 MVC 为您提供的东西,并且如果您希望保持不可知论,那么您就不能使用 MVC,那么使用 MVC 根本没有意义。只需使用 WebAPI 或 RIA 之类的东西,或者只是简单的旧 WebMethods。

标签: jquery asp.net-mvc asp.net-mvc-4


【解决方案1】:

对于任何对模型验证上的数据属性组合感兴趣并且不使用 Html.BegionForm() 的人,您可以尝试添加此

@{ ViewContext.FormContext = new FormContext(); }

在您的 <form> 元素之前

【讨论】:

    【解决方案2】:

    不确定问题出在哪里,但我的解决方案是创建一个非 razor 或 webform 部分并将其呈现在您的视图中。

    【讨论】:

    • 我已经完成了所有这些组合,但仍然无法显示错误消息。我也不知道是什么问题。
    猜你喜欢
    • 2013-02-09
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2014-07-05
    • 2012-02-28
    • 1970-01-01
    相关资源
    最近更新 更多