asp.net-mvc-3 – 是否可以嵌套部分视图?
我知道
this question,但原始海报接受了一个不涉及嵌套的解决方案.我绝对想要嵌套部分视图(当然,除非有更好的方法.)
我有一个页面,可以Ajax加载几个部分视图之一,具体取决于用户在主视图中的操作. (视图是部分的,因为我的理解是,如果你想从Ajax调用中加载重要的附加内容,你需要从你的调用返回一个PartialViewResult.)几个部分视图有一个共同的元素,一个下拉列表,我想喜欢将其纳入自己的局部视野. 但这不起作用.我的部分视图每个都有一个关联的视图模型,这是他们的模型.对于嵌套的局部视图,我想从父视图的视图模型中传递单个字段(可为空的int)的值作为嵌套的局部视图的模型. 但是在运行时我得到一个错误,说我的部分视图需要Nullable< int>但收到X,其中X是与父部分视图关联的视图模型的类型. 所以我的问题是双重的: >是不允许嵌套部分视图? (在这种情况下,我希望框架会检查情况并抛出一个明确说明的错误.) ETA:我发现了我的问题:当你将模型的空值传递给HtmlHelper.Partial或RenderPartial时,渲染引擎会替代调用局部视图的模型来代替那个null,假设你只是没有传递模型. 在我的情况下,这不是真的:我的Nullable< int>是Nullable,因为在它设置之前,它是空的! null在语义上是有意义的! 但这就是我遇到问题的原因. 解决方法
是的,您可以嵌套部分视图.只要确保传递正确的模型. HtmlHelpers在这里非常有用,因为您可以使用完整视图路径封装对RenderPartial的调用,并确保使用正确的模型.
例 public static void RenderSomePartial(this HtmlHelper helper,int? i) { helper.RenderPartial("~/Views/Shared/SomePartial.cshtml",i); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- file-upload – 使用不同的名称字段动态添加FileUpload
- asp.net – 为什么aspnet_compiler.exe这么慢(可以做得更快
- asp.net-mvc – !ClrStack -a调用ASP.NET MVC应用程序显示
- asp.net中WebService 捕获全局异常
- asp.net-core-mvc – asp.net核心,包括共享内容文件
- asp.net-mvc – 将所有js文件捆绑在一个捆绑包中,与css文件
- asp.net-mvc-3 – 即使关闭了自动完成功能,Firefox也会缓存
- asp.net -fb-like一段时间后用fb-share插件消失了?
- 在按钮执行回发之前触发的asp:按钮上添加jQuery click事件
- 通过ASP.NET调用的长时间运行任务的模式
- ASP.NET获取当前用户名
- asp.net-mvc – 如何编写C#Extension方法将Domai
- 一个支持 CodeFirst/DbFirst/ModelFirst 的数据库
- asp.net-mvc – 如何在asp.net mvc 4中实现社交登
- 如何关闭ASP.NET必需的字段验证器“丢失焦点”行
- asp.net webservice处理gzip压缩请求
- 循环 – 如何检查我是否在ADO Recordset的最后一
- asp.net-mvc – 如果抛出自定义异常,则重定向asp
- asp.net MVC 3/4相当于一个response.filter
- asp.net – 方法’Label’没有重载需要3个参数