ASP.NET MVC:将表单 POST 绑定到参数时避免紧密耦合

2024-05-16

假设我有一个像这样的界面:

interface IThing {
   int Id { get; set; }
   string Title { get; set; }
}

在 ASP.NET MVC 中,我有一个表单可以发布到控制器操作,如下所示:

 [AcceptVerbs(HttpVerbs.Post)]
 public ActionResult NewThing([Bind(Exclude = "Id")] SimpleThing thing) {

    // code to validate and persist the thing can go here            
 }

Where 简单的事情是一个刚刚实现的具体类IThing.

但是,我希望我的所有方法都能处理接口。我有一个使用 Niberate 及其自己的数据组件IThing实现(我们称之为真实的东西)。我无法将 SimpleThing 传递给它,因为它会抱怨“未知实体”。

有谁对更清洁的方法有任何想法吗?我正在考虑类似于使用工厂类的事情。但是我如何让 MVC 表单活页夹使用它呢?

Thanks!


您可以使用自定义模型活页夹 http://msdn.microsoft.com/en-us/library/dd410405.aspx。然而msdn上的文章完全没用。因此最好使用搜索并找到更好的东西。有大量可用的文章。

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

ASP.NET MVC:将表单 POST 绑定到参数时避免紧密耦合 的相关文章

  • 无法找到请求的.Net Framework 数据提供程序。 (Sql客户端)

    我正在尝试使用来自 SQL Server 2005 的 DB First 迁移来设置一个简单的 ASP NET MVC 4 Web 应用程序 我已经在数据库中创建了表 并使用实体框架在代码中创建了对象 我可以使用这些对象访问数据 当我尝试使
  • 通过 C# 更改 MS WORD

    我试图保存通过 C 打开的文档 我也保留了文档界面的 TrackRevision 属性 现在我想获取修改文档的人的姓名 在 MS Word 中 我可以从审阅窗格中找到更改文档的用户的姓名 我如何通过 C 获得它 之后一旦用户点击 MS Wo
  • 是否可以在 html 中将单选按钮标签助手值属性设置为“已选中”?

    我正在寻找一种方法来使用单选按钮标签帮助器上的值属性来通知按钮是否被选中 而不是使用单独的字段进行选择 我找到了 Shyju 的答案相关问题 https stackoverflow com questions 34570908 radio
  • 为 ASP.NET MVC 实现自定义登录

    我是 ASP NET MVC 的新手 需要一些关于如何实现以下内容的建议 该站点是一个使用率很高的站点 内部 内联网 约有 200 个用户 我们使用表单身份验证来访问 SQL Server DB 不是 Windows 集成 有些操作受到保护
  • MVC Controller.UpdateModel(T) 实际上尝试做什么?

    当我提交 MVC 页面时 我从 UpdateModel 方法中的 System Web Mvc Controller 对象收到 IvalidOperationException MSDN 文档指出此方法执行以下操作 使用控制器当前值提供程序
  • ASP.NET MVC 中的表单超时问题

    如何在 ASP NET MVC 中关闭表单身份验证 我有注册 登录和忘记密码页面 旨在进入 Web 应用程序 最初我 我目前将我的 asp net mvc Web 应用程序托管为单个代码库和多个数据库格式 我遇到表单在一段时间内过期 并且
  • 导出 CSV 文件时出现编码问题

    我正在使用 Asp net mvc 生成 CSV 文件 但在处理葡萄牙语中的特殊字符时遇到问题 我使用以下代码返回文件 public FileContentResult RelMatriculas RelRematriculaVM mode
  • IDependencyResolver 是反模式吗?

    我正在对旧版 ASP NET 应用程序进行一些架构更改 我模拟了 ASP NET MVC 的 IDependencyResolver 为依赖解析创建了一些类的原型 我不会发布 因为它的界面几乎相同 但采用其他自然语言 我发现它可能被认为是服
  • 当我的 ASP.NET MVC 应用程序中的模型为 null 时,EditorFor(..) 引发异常

    我有一个非常简单的 ASP NET MVC 视图 它有一个简单的string作为模型 eg model string 当我执行以下操作时 如果模型值为null 当用户第一次登陆此视图 页面 资源时发生 Value cannot be nul
  • cryptoTicket 参数的值无效

    我最近修改了我公司 eComm 站点的登录名 以具有 保持登录状态 功能 主要更改是使表单身份验证 cookie 对这些用户持久存在 更改发布后 我开始在日志中看到此异常 Invalid value for encryptedTicket
  • ASP.NET MVC 2 Preview 2 - 显示目录列表而不是 home/index

    我只是下载 ASP NET MVC 2 Preview 2 创建一个新项目并运行它 但为什么它显示目录列表而不是默认页面 我使用的是 VS2008 SP1 并安装了 ASP NET MVC 1 右键单击该项目并选择特性 在下面web设置开始
  • 使用 asp.net MVC 拖放上传到 aws s3

    我在我正在处理的基本 mvc 项目上上传文件时遇到一些问题 我有一个拖 放功能 我想连接到 aws s3 我可以使用当前应用程序将文件放入本地文件夹中 并按照此处的步骤操作 gt 使用 c Sharp 将文件上传到亚马逊 s3 非常简单 h
  • Ajax 中 POST 数据大小有限制吗?

    我正在尝试使用 jQuery Ajax 将一组数据从我的页面发送到 MVC 操作 这是我的 jQuery 代码 btnSave click function result tblMatters tbody tr mattersRow eac
  • LINQ 按降序排序,底部为空值 [重复]

    这个问题在这里已经有答案了 我有这样的表达 troubletickets db ServiceTickets Include t gt t Company Include t gt t UserProfile troubletickets
  • 如何使用 C# 上传文件并将其保存到 Stream 以便进一步预览?

    有没有办法上传文件 将其保存到流中 该流我会将其临时保存在会话中 最后 我将尝试预览此会话中的此上传文件 例如 pdf 文件 Thanks EDITED 这就是我想做的 HttpPostedFileBase hpf Request File
  • EF6 找不到 LocalDBConnectionFactory

    我有 2 个项目 类库 作为 DAL 层 和 ASP NET MVC 项目 作为 UI 为了获取数据 我尝试使用 EF6 但它不起作用 所有异常文本 EntityFramework dll 中发生 System InvalidOperati
  • Mac OS X 上的 ASP.NET MVC 5

    我想了解如何在运行 OS X 10 10 5 的 Mac 上使用 Microsoft ASP NET 框架构建网站 我将跟随一个使用 ASP NET MVC 5 的在线课程 到目前为止我读过的所有教程都说要使用Homebrew http b
  • 在 MVC 中处理错误、异常和 404 的最佳路由方法是什么?

    SO 和网络上有很多文章试图优雅地处理 404 和异常 从我读过的内容来看 最好的建议似乎是为 404 设置一条路线 如下所示 routes MapRoute 404 PageNotFound url new controller Erro
  • 剃刀 2 到剃刀 3 MVC 5

    我一直在开发 MVC 4 解决方案 并且一直在尝试将其升级到 MVC 5 我已按照概述的步骤操作here http www asp net mvc tutorials mvc 5 how to upgrade an aspnet mvc 4
  • ASPNET MVC - 使用具有相同签名的新助手覆盖 Html.TextBoxFor(model.property)?

    我想用我自己的助手重写 Html TextBoxFor 该助手具有完全相同的签名 当然 但名称空间不同 这是否可能 如果可以 如何实现 原因是我在现有的应用程序中有 100 多个视图 并且我想更改 TextBoxFor 的行为 以便在属性具

随机推荐

  • WP7:将参数传递到新页面?

    在 Windows Phone 7 Silverlight 应用程序中 我使用以下命令调用新页面 NavigationService Navigate new Uri View SecondPage xaml UriKind Relativ
  • 安装 Windows 服务时的凭据

    我正在尝试使用 VisualStudio Net 部署项目安装 C Windows 服务项目 要运行部署项目 我右键单击并从上下文菜单中选择 安装 安装向导将运行并最终提示我出现 设置服务登录 对话框 要求输入用户名和密码 当我从命令行使用
  • Class()、new Class 和 new Class() 之间的区别

    两者有什么区别Class and new Class new Class 我做了一个测试 后者似乎更快 http jsperf com object initilzation http jsperf com object initilzat
  • 无论如何要抓取重定向的链接吗?

    无论如何 我可以让 python 单击一个链接 例如 bit ly 链接 然后抓取生成的链接吗 当我抓取某个页面时 我唯一可以抓取的链接是重定向的链接 它重定向到的位置就是我需要的信息所在的位置 重定向有 3 种类型 HTTP 作为响应标头
  • 如何从 ruby​​ 中的字符串名称创建类实例?

    我有一个类的名称 我想创建该类的一个实例 以便我可以循环该类的架构中存在的每个 Rails 属性 我该怎么做呢 我的名称是我想要检查的类的字符串 我想我需要实例化一个类实例 以便我可以 循环遍历它的属性并打印它们 在 Rails 中你可以这
  • 如何在包含 Django 模板标记的文件上运行 JSHint?

    我想在所有 Javascript 源文件上运行 JSHint 但其中一些源文件具有一些嵌入式 Django 模板标记 JSHint 在此标记上引发大量错误 有没有办法可以 告诉 JSHint 忽略此标记 使用一些虚拟数据运行 Django
  • 如何拆分二维数组,从“行到行”值创建数组

    我想这样分割二维数组 Example 从这个 4x4 2D 数组 np array 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 创建这四个 2x2 2D 数组 np array 1 2 3 4 np arr
  • 编译器如何实现位域运算?

    当询问如何做的问题时包裹 N 位有符号减法 https stackoverflow com questions 8309538 integer subtraction with wrap around for n bits我得到了以下答案
  • 使用 Quartz 创建 PDF 注释 (iOS)

    有人设法使用 Quartz 在现有 PDF 中编写自定义注释吗 我已经使用 CGPDFDocumentRef 等渲染了 PDF 现在工作正常 我成功地阅读了 Annots 字典 if CGPDFDictionaryGetArray page
  • Highcharts - 使用选定的饼图切片获得 3D 效果

    在 highcharts 中 我试图使当用户选择或将鼠标悬停在饼图的切片上时 该切片会产生沿 z 轴 朝向用户 上升的效果 我试图通过 css 设置阴影过滤器并使切片的边框更宽 填充颜色相同 来实现此目的 然而 我面临的问题是切片仍然可以位
  • Apache Camel POJO Bean 处理器单例还是原型?

    我使用 Camel 的 spring DSL 来构建路由 并使用 POJO bean 作为处理器 最初 我这样做
  • Node.js:读取 URL 中传递的参数

    在 Rails 中 我向服务器发出 POST 请求 response Typhoeus Request post http url localtunnel com request from ola to ole result JSON pa
  • Scrapy - 使用 TwistedScheduler 时出现 ReactorAlreadyInstalledError

    我有以下 Python 代码来启动 APScheduler TwistedScheduler cronjob 来启动蜘蛛 使用一只蜘蛛不是问题 而且效果很好 然而 使用两个蜘蛛会导致错误 twisted internet error Rea
  • 在 Xcode 6 中定位 iOS 7.1 或 7.0 时,应用程序中出现黑条

    重现步骤 使用Xcode6创建一个新项目 单视图模板 仅限iPhone Objective C 导航到项目设置并将部署目标从 8 0 更改为 7 1 在安装了 7 1 的 iPhone5 S 或 iPhone5 s 7 1 模拟器中运行应用
  • 使用 Moq 测试接受委托的方法

    我的代码正在使用一个实现这样的接口的组件 public interface IFoo void DoSomething string p1 void DoSomething string p1 Action
  • jqGrid过滤

    我想在我的中实现过滤jqGrid http www trirand com jqgridwiki doku php id start in my Spring框架MVC http en wikipedia org wiki Spring F
  • 获取空对象的基础类型[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions User x null object
  • 什么时候应该使用双精度而不是十进制?

    我可以说出使用的三个优点double or float 代替decimal 使用更少的内存 速度更快 因为处理器本身支持浮点数学运算 可以表示更大范围的数字 但这些优点似乎只适用于计算密集型操作 例如建模软件中的操作 当然 当需要精度时 例
  • 如何使用 PHP 查找目录中的前 5 个文件?

    如何使用 PHP 列出按字母顺序排序的目录中的前 5 个文件或目录 Using scandir array slice array filter scandir path to dir is file 0 5 The array filte
  • ASP.NET MVC:将表单 POST 绑定到参数时避免紧密耦合

    假设我有一个像这样的界面 interface IThing int Id get set string Title get set 在 ASP NET MVC 中 我有一个表单可以发布到控制器操作 如下所示 AcceptVerbs Http