Asp.Net Mvc 3 客户端验证、属性生成

2024-04-08

Asp.net Mvc3 在输入元素上添加了一些自定义属性,例如“data-val-required”以执行验证。我知道这背后的所有理论,以及它是如何运作的。

我想知道的是:

当我在“@using (Html.BeginForm())”中创建表单时,它会生成自定义属性,但当我将表单放在普通“之间时,它不会创建这些属性”<form>" tag.

下面是我创建的一个演示,用于演示我所说的内容

Razor 代码,BefingForm() 内的表单

 @using (Html.BeginForm()) {
                @Html.EditorFor(model => model.EmailAddress)
                @Html.ValidationMessageFor(model => model.EmailAddress)
}

生成的 HTML包含“data-val-required”属性,如下所示

<input type="text" value=""  data-val-required="The Email Address field is required."  data-val-email="my message">

纯 Html 标签内的 Razor 代码表单

<form action="/Account/Register" method="post">
            @Html.EditorFor(model => model.EmailAddress)
            @Html.ValidationMessageFor(model => model.EmailAddress)
</form>

生成的 HTML不包含如下所示的“data-val-required”属性

<input type="text" value=""  gtbfieldid="44">

我的问题是,即使表单放置在纯 html 标签中,我如何要求 MVC 添加这些属性


我相信 BeginForm 方法在内部将一个 formcontext 对象分配给 viewCotnext 的属性 FormContext。如果您不想使用纯 html 表单标签,则必须手动执行此操作,例如

<%
    this.ViewContext.FormContext = new FormContext();
%>

在剃刀中可能会是

@{
    this.ViewContext.FormContext = new FormContext();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asp.Net Mvc 3 客户端验证、属性生成 的相关文章

随机推荐

  • 将参数传递给在 AWS Fargate 上的 Docker 容器中运行的 Python

    将参数传递给运行 Python 脚本的 Docker 容器可以像这样完成 docker run my script 0 1 arg1 val arg2 val 我似乎无法弄清楚在 AWS Fargate 上运行容器时如何传递这些参数 也许它
  • 如何将变量从 jquery 传递到代码隐藏(C#)?

    这是我的代码 但它不起作用 后面的代码获取空字符串
  • 具有关联数组的唯一数组 - 删除重复项

    我有一个包含一些重复项目的关联数组 例如 我有
  • 什么是 keyExtractor 参数

    我正在学习Comparator界面 我对它的静态感到困惑Comparator comparing 方法 关于Comparator comparing 方法的参数以及它如何使用方法引用 当我查看文档时 它说它有一个 keyExtractor
  • 如何开发才能利用64位系统?

    软件工程师 计算机科学的某些特定领域在针对 64 位系统进行开发时是否存在显着差异 我已经编码了大约 10 年 自从 64 位系统崩溃以来 我的代码没有改变过一丁点 哪些应用程序可以由单个编码员作为业余项目进行编码 并且需要您使用 64 位
  • Reactive Cocoa 限制信号一次只能发送给一名订阅者

    我需要在 RAC 中进行建模 我有一个 tabBarController 它将订阅通知信号 说推送通知 也说当前活动的视图控制器也可能想要订阅相同的信号 但是如果任何视图控制器订阅了它 tabBarController 就不想处理它 否则它
  • Spring表单:选择多个选定值?

    我有这个编辑表格 我希望选择用户的角色 如果这是一对多关系 我知道我可以这样做
  • 如何使 Redirect.INHERIT 和 System.setOut 一起工作

    这可能是一个微不足道的问题 但我无法轻易找到答案 我有一个简单的 Java 程序 System setOut new PrintStream new File stdout txt ProcessBuilder pb new Process
  • 如何使引导轮播上的文本保持不变,而图像移动?

    基本上 我让轮播正常工作 但我只希望图像能够过渡 但每张幻灯片上的文本都相同 理想情况下 文本不会移动 但图像会在背景中移动 这是一个例子 http www bootply com pINPxqzlJ2 http www bootply c
  • ProcessBuilder的正确使用

    经过研究 我注意到使用 java 的 ProcessBuilder 的 正确 方法是生成另外两个线程来管理新创建进程的 stdout stderr 的吞噬 这样它就不会挂起 如下所示 java世界文章 http www javaworld
  • django.db.utils.ProgrammingError:类型“raster”不存在

    我的模型 我在这里创建了 3 个模型 当我迁移时 我收到错误 from django contrib gis db import models from django contrib gis db models fields import
  • Maven 无法使用 OpenJDK 11 找到 jaxb-api,即使它存在于存储库中

    我有一台装有 Windows 操作系统的机器 它用于构建一些 WAR 项目 它有已安装 Java 8在上面 我在用Maven 3 2 5构建这些 WAR 项目 一切正常 但由于 Java 8 由于免费更新的结束而在未来会成为一个问题 所以我
  • 将轮分解添加到不定筛

    我正在修改埃拉托色尼的不定筛here https stackoverflow com a 10733621因此 它使用轮分解来跳过比当前仅检查所有赔率的形式更多的组合 我已经弄清楚了如何生成到达轮子上所有间隙所需的步骤 从那里我想我可以用
  • Azure DevOps 扩展中的节点密码警告 - 发布任务

    我正在开展一个开发 Azure DevOps 发布任务扩展的项目 最近 当发布任务运行时 我在日志中多次打印此警告消息 警告 使用 Cipheriv 作为 aes 256 ctr 的计数器模式 我没有更早得到它 当我开始收到此错误时 我只更
  • C 到 MIPS - 函数和数组

    我正在尝试将以下 C 代码转换为 MIPS 程序集 数组的基地址存储在 a0中 变量索引存储在 a1中 变量 x 存储在 t0 中 void ld array char array int index x array index 当索引是一
  • 如何通过 Grails 使用 imgscalr

    我最近几天才开始使用 Groovy 和 Grails 我之前没有任何 Java 经验 所以您必须原谅这个 可能 非常基本的问题 我搜索了 Google 和 Stack Overflow 但没有找到任何可以帮助我实际安装的内容 我已经可以上传
  • Elasticsearch 通过另一个文档查找文档

    我想在elasticsearch中搜索与id docId给定文档具有完全相同字段的文档 例如用户使用 docId 调用 api 我想过滤文档 以便返回的所有文档都满足 docId 中的某些参数 例如 我可以像这样查询 Elasticsear
  • TypeScript“保存时编译”功能在 Visual Studio 2015 中不起作用

    升级到 Visual Studio 2015 后 保存时编译 功能对我不起作用 当我对 ts将文件添加到我的项目中并保存 IDE 底部的状态栏显示Output s generated successfully 但是生成的 js文件没有改变
  • Linux/C下判断两个文件路径是否指向同一个文件?

    在Linux下 我有两个文件路径A和B const char A const char B 我现在想确定 我是否应该open 2 他们俩 int fda open A int fdb open B 我会在文件系统中打开同一个文件的两个文件句
  • Asp.Net Mvc 3 客户端验证、属性生成

    Asp net Mvc3 在输入元素上添加了一些自定义属性 例如 data val required 以执行验证 我知道这背后的所有理论 以及它是如何运作的 我想知道的是 当我在 using Html BeginForm 中创建表单时 它会