使用 FormCollection 时,MVC 3 RTM allowedHtml 不起作用

2023-12-07

MVC 3 RTM。拥有一个具有AllowHtml 属性的模型。在我的控制器操作中,如果该操作将 FormCollection 作为参数,则会引发异常:

 [HttpPost]
 public ActionResult Edit(FormCollection collection, int id)
 {
   var myEntity = _myRepo.Get(id);

   TryUpdateModel(myEntity);

   return DoSave(myEntity);
 }

潜在危险的 Request.Form 从客户端检测到值

但是,如果我的控制器操作使用对象而不是 FormCollection,它不会引发异常。

 [HttpPost]
 public ActionResult Edit(MyEntity postedEntity, int id)
 {
   var myEntity = _myRepo.Get(id);

   TryUpdateModel(myEntity);

   return DoSave(myEntity);
 }

我已经设置好了

http运行时 请求验证模式=“2.0”

为什么使用 FormCollection 时会失败?


你不能使用AllowHtml with FormCollection。你可以使用[ValidateInput]属性,但显然这禁用了所有值的验证:

[HttpPost]
[ValidateInput(false)]
public ActionResult Edit(FormCollection collection, int id)
{
    var myEntity = _myRepo.Get(id);
    TryUpdateModel(objective);
    return DoSave(objective);
}

话虽如此,我将使用以下内容:

[HttpPost]
public ActionResult Edit(MyEntity entity)
{
    if (ModelState.IsValid)
    {
        _myRepo.Save(entity);
        return RedirectToAction("Success");
    }
    return View(entity);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 FormCollection 时,MVC 3 RTM allowedHtml 不起作用 的相关文章

  • 在同一站点上使用基本身份验证和表单身份验证

    谁能告诉我 是否可以在我的网站上同时使用基本身份验证和表单身份验证 而两者不会相互干扰 我有一个新网站 出于批准目的 我只希望某些人看到该网站 该网站有一个使用表单身份验证的会员区域 现在当任何人在通过基本身份验证后进入该网站时 他们都会被
  • 在 NopCommerce 3.8 的管理面板中添加子菜单

    我正在通过 Pluralsight 提供的教程学习 Nopcommerce 在管理面板中为插件添加菜单时 3 5 和 3 8 版本有所不同 没有public SiteMapNode BuildMenuItem 相反 我们必须使用public
  • 使用 mvc3 将图像保存到文件系统

    我有一些简单的实体 现在需要有一个个人资料图像 执行此操作的正确方法是什么 因此 这是一对一的关系 一张图像仅与一个实体相关 反之亦然 该图像应通过网络表单上传并插入相关实体 因此 当我指出使用文件系统来存储图像并仅将路径图像持久保存到数据
  • 使用 ViewModel 屏蔽可为 null 的域属性

    我正在使用 Entity Framework 4 0 并使用 POCO 对象 当我从数据库填充 POCO 对象时 我将属性值转换为我自己的域对象 我们可以将其称为我的模型 当然 我的模型的字段是否可为空取决于它在数据库中映射到的值是否来自
  • 删除打印为 PDF 的选项

    当单击 Crystal 报告的打印按钮时 我看到以下内容 我不想先导出为 PDF 我只想在按下 打印 按钮时立即打印 我该如何配置此行为 听起来你想使用PrintToPrinter方法 根据 MSDN 将报表的指定页面打印到使用 Print
  • ASP.Net MVC 在哪里从实体转换为视图模型?

    标题几乎解释了一切 这是我在我们的项目中尝试做的最后一件事 我们的结构是一个服务库 其中包含这样的功能
  • 删除 Razor MVC 3 中的 HTML 格式

    我正在使用 MVC 3 和 Razor View 引擎 我正在尝试做什么 我正在使用 MVC 3 制作博客 我想删除所有 HTML 格式标签 例如 p b i etc 为此 我使用以下代码 它确实有效 post PostContent po
  • 如何使用带有 Scripts.Render 的 ASP MVC 4 捆绑包的脚本延迟属性

    我浏览了 Google 和 Stackoverflow 但没有找到答案 是否有任何内置方法可以使捆绑包按延迟执行 或者有人知道有人为此编写的扩展帮助器方法吗 尝试将 Web Optimization 升级到版本 1 1 0Codeplex
  • 如何在控制器中模拟 Automapper (IMapper)

    我正在尝试为现有的 MVC Web 应用程序编写单元测试 我在自动映射器中面临一些问题 IMapper 每当使用地图函数时它都会返回null value 我的控制器代码 public class UserAdministrationCont
  • 来自 ControllerContext 的 ActionDescriptor

    鉴于我只能访问ControllerContext并不是Action Contexts获取当前正在执行的 ActionDescriptor 的最佳方法是什么 到目前为止我发现的唯一方法是 new ReflectedControllerDesc
  • 在 SelectList 集合中设置所选项目

    我有一堂具有以下属性的课程 它构建了一个SelectList现有列表中的对象 然后设置所选项目 public SelectList ProviderTypeList get SelectList list new SelectList my
  • 在 ajax post 之前使用 unobtrusive 进行验证

    所以我一直在玩弄防伪令牌 取得进展 https stackoverflow com questions 7270387 mvc 3 ajax and validateantiforgerytoken谢谢你们 我已经找到了一个解决方案来合并表
  • MVC 2视图显示错误的模型信息

    我在一个项目中使用 MVC 2 但我遇到了视图问题 在控制器中我有代码 return View calendarDay 如果我调试这一行并检查 calendarDay 它会告诉我 calendarDay Id 属性等于 2 在视图中我有一些
  • 在实体框架中不使用 Dispose 或 using()

    我一路上正在编写一个网络应用程序并学习实体框架 如果我做错了什么 我很好奇 我在查询时没有使用过 dispose 或 using 语句 我的存储库示例 public User GetUserById int sessionId var us
  • 类型违反了继承安全规则:“System.Net.Http.WebRequestHandler”

    我在 MVC 应用程序的 web config 中有以下程序集引用
  • AppHarbor 一步构建以及如何部署我的数据库[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我终于达到了我的解决方案完成构建步骤
  • ASP.NET MVC - 重写 FormMethod.Get 查询字符串?

    我有一个简单的表单 只有一个文本框和一个提交按钮 该表单基本上将文本框中的值作为查询字符串发送到不同的页面 当我单击提交按钮时 查询字符串采用以下格式 例如 mysite com TargetCode Test1 我希望它以这种格式显示 m
  • 重载控制器动作

    几分钟前 当我尝试在我的一个控制器中重载操作时 我有点惊讶 I had public ActionResult Get return PartialView return all things I added public ActionRe
  • 如何在 web.config 中设置默认的 text/html 内容类型?

    我想将 ASP NET MVC 应用程序中网页的默认内容类型设置为 text html 我知道这可以通过向我的所有 元素添加 ContentType text html 来完成 但我更喜欢使用 web config 我怎样才能做到这一点 T
  • 找不到 securityToken 的有效键映射

    我正在开发测试应用程序 用于在 MVC ASP net Visual studio 2013 中显示经过身份验证的身份声明 我已通过以下方式从活动目录进行身份验证 1 在解决方案中添加新的mvc项目 2 单击更改身份验证 3 选择组织账户

随机推荐

  • 内存通常比磁盘快多少?

    IDE SCSI SSD SATA 或所有这些 我很惊讶 本文中间的图3 大数据的病理学 表示进行顺序访问时内存仅快 6 倍左右 内存为 350 Mvalues sec 而磁盘为 58 Mvalues sec 但当您进行随机访问时 速度大约
  • std::enable_if 如何工作?

    我刚刚问了这个问题 std numeric limits 作为条件 我明白用法在哪里std enable if将有条件地定义方法的返回类型 导致该方法无法编译 template
  • 按 Column.DisplayMember 对 DataGridView 进行排序

    我有一个DataGridView有几个DataGridViewComboBoxColumn实际值与 ID 相关联 但DisplayMember是查找表中的字符串对应项 我试图做到这一点 以便当我按该列排序时 排序是根据DisplayMemb
  • 适用于 SUN Solaris 和 linux 的 awk + ​​fit 语法

    需要以下方面的帮助 当我在 Linux 上运行以下命令时 它运行良好 awk v NAME MACHINE 1 NAME etc hosts 但在 SUN Solaris 上我得到以下信息 awk v NAME MACHINE 1 NAME
  • 使用 Spring 依赖注入的自定义转换器

    有没有一种方法可以在 Dozer 中定义自定义转换器 用于将一种顶级类型转换为另一种顶级类型 而另一种类型本身就是一个 Spring bean 因此可以注入其依赖项 dozer 文档建议添加以下 XML 定义
  • 如何在 ios 图表中添加标记到中心位置,同时水平滚动并增加scaleX并启用拖动

    我正在使用 Daniel Cohen Gindi 的图表框架 我通过增加scaleX值并启用拖动来水平滚动图表 如这个问题的答案中所述 快速设置我的条形图的水平滚动 我想当用户水平滚动时在中心位置添加标记 我知道每当用户拖动图表时都会调用
  • 如何更改 Zend Framework 的包含目录

    我收到以下错误消息 Warning include once Zend Db php function include once failed to open stream No such file or directory in C Ea
  • 如何将日期变量转换为java.sql.date

    我在尝试将日期变量插入数据库表时遇到困难 我的变量叫做 Date date4 date4 变量值是从具有日历选择器的文本框中读取的 为了插入日期列 我将字段类型设置为日期 preparedstmt setDate 4 date4 然而 提交
  • 检查数组是否包含其他数组的所有元素?

    我有2个数组 第二个数组必须包含第一个数组中的所有元素 如何检查 谢谢 For example array 1 Array 0 gt Email 1 gt 1 Name array 2 Array 0 gt 1 Name 1 gt In t
  • 在 msvc++ 2010 Express 中似乎找不到 std::thread

    我最近一直在阅读有关 c 的各种新添加内容 我对此感到非常兴奋 并且我已经了解了新的 std unique ptr 和 std shared ptr 对象 它们非常有用 现在我正在寻找对于我听说过的本机线程库 但似乎无法在任何地方找到它 我
  • 无法在本地有效地使用 Git

    请参见格雷格的回答 我不明白丹尼尔的声明线程完全地 为什么要手动复制文件 周围有什么吗 当然你应该只是 将它们添加到存储库中 然后查看 并根据需要进行承诺 我没看到 需要移动文件 这似乎违背了整个目的 本地结账 我目前正在使用 rsync
  • 如何在单击按钮时检查 gridview 列中复选框的状态

    我在gridview中使用了复选框列 单击链接按钮时 应检查 gridview 中的复选框是否已选中 如果没有选中任何复选框 则应显示警报 至少选中一个复选框 您必须向页面添加一些自定义 Javascript 以便显示客户端警报 下面是我编
  • jQuery 的“双击”事件(移动设备为 dblclick)

    我有以下 jquery 事件处理函数 target on dblclick function respond to double click event 我的问题是这个事件处理程序不适用于触摸设备 iPhone iPad 谁能推荐一个可靠的
  • bwmorph 的 Python 等效项

    我仍在用 Python 编写指纹图像预处理器 我在 MATLAB 中看到有一个特殊的函数可以消除 H 中断和杂散 bwmorph a hbreak bwmorph a spur 我搜索了 scikit OpenCV 等 但找不到这两种用法的
  • Node.js 服务的压力测试[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在使用node js
  • 在 $unwind 之前检查子文档是否不为空

    我有一个Job包含 job title job location salary 等的 schema 应用架构将子文档嵌入到工作文档中 它存储该特定工作已收到的所有申请 这是作业架构的样子 const jobSchema new Schema
  • mysql.connector 不给出 Python 中的最后数据库状态

    I use mysql connectorPython 中的库将查询发送到数据库 但是 当数据库在初始化后发生更改时 mysql connector工具的回答就像数据库从未改变过一样 例如 假设我有一张极简主义的桌子students只有两列
  • 在节点中将 ieee754 转换为十进制

    我在节点中有一个缓冲区
  • 如何使用 dotdotdot 扩展截断的文本 onclick?

    我正在使用jQuery dotdotdot截断插件点点点 frebsite nl 我想截断最多 2 行 当用户点击more 那么它必须显示全文 展开 取消截断 到目前为止 我 仅 设法截断我的文本 但不是 去截断 它 这是我的代码 p cl
  • 使用 FormCollection 时,MVC 3 RTM allowedHtml 不起作用

    MVC 3 RTM 拥有一个具有AllowHtml 属性的模型 在我的控制器操作中 如果该操作将 FormCollection 作为参数 则会引发异常 HttpPost public ActionResult Edit FormCollec