如何防止视图将其模型传递给部分视图,而是传递 null?

2024-04-24

在 ASP.NET MVC 和使用 Razor 中,我有一个视图(父视图)调用另一个视图(子视图)作为部分视图。两者都是强类型的,但它们具有不同的模型类型。

通常,在这些情况下,我们会显式地将模型从父视图传递到子视图。

@Html.Partial("Child", Model)

我们还可以选择不显式指定要传递的模型,在这种情况下,父视图将尝试将其自己的模型传递给子视图。如果类型匹配,则此方法有效,并且在大多数情况下是可取的。

@Html.Partial("Child")

然而,就我而言,我真的想要父视图not尝试将任何内容传递给子视图。我该怎么做呢?

我想过尝试通过null明确地:

@Html.Partial("Child", null)

但这仍然将父级的 Model 传递给子 View,导致错误:The model item passed into the dictionary is of type 'A', but this dictionary requires a model item of type 'B'.

(顺便说一句,子视图是其模型的创建视图,这就是为什么我没有实例可以传递给它。)


尝试这个:

@Html.Partial("Child", null, new ViewDataDictionary<ChildType>(childInstance/*this can be null*/))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止视图将其模型传递给部分视图,而是传递 null? 的相关文章

  • NamedScopes Ninject 绑定和异步(线程)

    我的项目由服务和存储库构成 所有存储库共享数据库上下文 在我的一个服务层中 我有一个使用存储库写入数据库的异步方法 Web 请求将完成并处理上下文 然后此方法才能使用它 我试着去理解命名范围 http www planetgeek ch 2
  • 服务层或存储库中的密码哈希等?

    作为 MVC 的最佳实践 在发送到数据库之前处理密码散列 加盐或数据格式化等事务的逻辑应该放在哪里 我读到存储库应该仅用于处理数据访问的逻辑 这是属于服务层的东西吗 控制器 这还重要吗 我倾向于将散列放在存储库层中 如果只是出于实际原因 即
  • ASP MVC.NET3 本地 IIS7 对象引用错误

    在开发 mvc Web 应用程序期间 我遇到了运行站点本地实例的问题 当我尝试重新加载页面时 在首次加载成功后 我看到以下错误 如果我通过 VS 虚拟服务器运行该站点 则不会出现任何问题 我的应用程序池正在集成模式下运行 并且正在运行 ne
  • 如何在 [Authorize(Roles="")] 中使用变量

    我有一个 MVC 5 C Intranet Web 应用程序 其中使用了 30 多个 Active Directory 角色 并且由于业务文化的原因 权限经常发生变化 为了让事情变得简单 我想我应该尝试这样的事情来确定谁可以访问控制器操作或
  • 避免 AngularJS 部分视图在 IE 中缓存

    我正在开发一个 ASP NET MVC 应用程序 它也有一些 angularJS 我有一个主页 其中有不同的选项卡 当您单击它们时 它们会加载角度部分视图 主页是这样的 div class widget div div class widg
  • 为什么 Visual Studio 不移动发布中的某些文件?

    当我尝试发布项目时 Visual Studio 不会将某些文件移动到目标发布文件夹 目前我有这个问题 json文件 我正在使用 Visual Studio 2010 和 MVC4 是否有关于应发布哪些文件或 mime 类型并将其移动到目标文
  • 如何将动态数据写入 MVC 3 Razor 中的页面布局?

    我有带有 Razor 引擎的 MVC 3 C 项目 将动态数据写入 Layout cshtml 的方法和最佳实践是什么 例如 也许我想在网站的右上角显示用户名 该名称来自会话 数据库或基于用户登录的任何内容 更新 我也在寻找将某些数据渲染到
  • ASP.NET MVC:DataAnnotations - 显示一条错误消息,指示字段必须是数字

    DataAnnotations 的工作方式似乎存在一些漏洞 因为用户在将进入 int 的字段中输入一些文本将永远不会到达 DataAnnotations 代码 它会引发模型绑定错误并向用户显示错误 值 a 对于 XXXX 字段无效 不管怎样
  • 在新的 ASP.NET MVC 5 项目中更新 NuGet 包引用后,如何修复与 JSON.NET 的程序集版本冲突?

    我在 VS 2013 更新 1 中创建了一个新的 ASP NET MVC 5 Web 项目 然后更新了所有 NuGet 包 当我构建项目时 我收到以下警告 警告 MSB3243 无法解决 Newtonsoft Json Version 6
  • 验证 asp.net mvc 中的下拉列表

    in controller ViewBag Categories categoryRepository GetAllCategories ToList in view Html DropDownList Cat new SelectList
  • 果园:自定义注册字段

    对于我的 Orchard 项目 我需要用户在注册时提供一些附加信息 说 名字 姓氏 裤子颜色 此信息必须在注册时输入 并且不能推迟到以后 根据客户的订单 我尝试使用配置文件和扩展注册插件来请求这些 但据我所知 这只为我提供了在注册表中显示的
  • MVC URL 路由自定义 url

    我想传递 url 链接 例如 http localhost 24873 Jobs companyname or http localhost 24873 companyname Jobs Preferred 我尝试在全局 aspx 文件中进
  • 您认为 ASP.NET MVC 会与 ASP.NET Webforms 竞争吗?

    您认为 ASP NET MVC 会在 Microsoft Web 开发市场中占据重要份额吗 还是会占市场的 10 15 哦是的 它将让 Web 表单脱颖而出 我们已经看到了真正的 MVC 框架在 Java 世界中的价值 在 MS 世界中 这
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • 将许多表转换为 Excel 列

    我创建了用于文章审阅的网络应用程序 我有一个名为 Article 的表 每个表Article有一些ArticleReview Article ArticleId ArticleTitle NumberOfComment NumberOfVi
  • Ajax.BeginForm 无法与 Html.ValidationSummary 一起使用

    我正在尝试使用 Ajax BeginForm 将数据发布到控制器 如果出现特定错误 表单应重新呈现并显示添加到 ModelState 的自定义错误消息 由于某种原因 错误消息未显示 我什至正在尝试以下不起作用的测试用例 我是否遗漏了什么 E
  • 自定义身份验证中间件 - 如何检查请求是匿名还是授权?

    我正在尝试编写自己的身份验证中间件代码 在老式的 HttpModule 中 当请求 授权 页面时 我可以使用 OnAuthenticateRequest 我的中间件代码是这样的 public async Task Invoke HttpCo
  • 使用 CustomUrlHelper 覆盖 UrlHelper - ASP.NET CORE 2.0

    有没有办法强制我的 ASP NET Core 2 0 应用程序使用我在各处编写的自定义 UrlHelper 我有一个具有自定义逻辑的类 public class CustomUrlHelper UrlHelper 我希望它能在任何地方使用
  • 依赖注入和 ModelStateWrapper

    在教程中使用服务层进行验证 http www asp net learn mvc tutorial 38 cs aspx产品服务的构造函数如下所示 ProductService IValidationDictionary validatio
  • ASP.Net MVC MvcBuildViews 大幅增加编译时间

    我们有一个项目 希望构建视图 以便在视图的 cshtml 文件中有任何错误时生成编译时错误 尽管如此 编译时间仍然急剧增加 MvcBuildViews true需要 62 秒 MvcBuildViews false需要 9 秒 这是可以接受

随机推荐