Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >将不同的模型传递给局部视图

将不同的模型传递给局部视图
EN

Stack Overflow用户
提问于 2014-05-11 15:08:43
回答 3查看 44.4K关注 0票数 22

我正在尝试将一个不同的模型从一个视图传递到局部视图。我对它们和两个不同的视图模型都有两个单独的控制器操作。但是,当我从视图中调用局部视图时,它会给出错误

传入字典的模型项的类型为“Application.ViewModels.Model1ViewModel”,但此字典需要类型为“Application.ViewModels.PartialViewModel”的模型项。

我这样叫它:

代码语言:javascript
代码运行次数:0
复制
 @Html.Partial("_CreateUniFunctionPartial")

视图中的模型调用是

代码语言:javascript
代码运行次数:0
复制
@model Application.ViewModels.Model1ViewModel

并且局部视图文件中的模型是

代码语言:javascript
代码运行次数:0
复制
@model Application.ViewModels.PartialViewModel

我不确定如何传递局部视图,所以它不会给出这个错误。

编辑

局部视图

代码语言:javascript
代码运行次数:0
复制
@model Application.ViewModels.PartialViewModel



 @using (Html.BeginForm("partialview", "ApplicationDetail", FormMethod.Post)) 
  {


<div class="form-horizontal">
    <h4>UniFunctionViewModel</h4>
    <hr />
    @Html.ValidationSummary(true)





    <div class="form-group">
        @Html.LabelFor(model => model.detail, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.detail, new { @placeholder = "Further Information" })
            @Html.ValidationMessageFor(model => model.detail)
        </div>
    </div>


</div>

}

EN

回答 3

Stack Overflow用户

发布于 2014-06-28 10:07:49

您使用了正确的方法,但没有传递正确的参数

你可以像这样试一试:

代码语言:javascript
代码运行次数:0
复制
@Html.Partial("~/[path_to_root_only_if_exists]/_CreateUniFunctionPartial.cshtml", new Application.ViewModels.PartialViewModel())

如果您没有传入模型,它将自动从其父模型中获取一个,在本例中为

代码语言:javascript
代码运行次数:0
复制
Application.ViewModels.Model1ViewModel
票数 34
EN

Stack Overflow用户

发布于 2016-03-10 21:28:12

您需要做的一件事是重新生成模型或利用模型中的属性。例如:

代码语言:javascript
代码运行次数:0
复制
 public class OuterViewModel
 {
     public InnerViewModel InnerViewModel { get; set; }
 }

 public class InnerViewModel
 {
     public string SomeProperty { get; set; }
 }

在首页中,您可以接受OuterViewModel,然后将InnerViewModel传递给Partial。

Outer.cshtml:

代码语言:javascript
代码运行次数:0
复制
 @model OuterViewModel
 @Html.Partial("_InnerPartial", Model.InnerViewModel)

_InnerPartial.cshtml:

代码语言:javascript
代码运行次数:0
复制
 @model InnerViewModel
 @using (Html.BeginForm("Inner", "Controller"))
 {
      <div>
          @Html.AntiForgeryToken()
          @Html.TextBoxFor(m => m.SomeProperty)
          <input type="submit" value="Save" />
      </div>
 }
票数 12
EN

Stack Overflow用户

发布于 2014-05-11 15:23:41

这很容易做到。有一个html指令可以呈现局部视图。以下是代码示例:

代码语言:javascript
代码运行次数:0
复制
 @Html.Partial("nameOfPartial", Model)

现在,模型可能来自你的主控制器。

或者,您可以定义一个新的控制器操作,将partialviewresult作为返回类型,并尝试将其呈现在页面中,如下所示:

代码语言:javascript
代码运行次数:0
复制
@{Html.RenderAction("Someaction", "somecontroller");}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23594228

复制
相关文章
创建局部模型视图
当模型中的表数量过多,导致关联变得复杂,不利于用户分析和理解表关系,而旧版Power BI中只提供这一种模型全局视图。
公众号PowerBI大师
2019/09/30
1K0
创建局部模型视图
MVC中局部视图的使用
加载部分视图 $("#result").load("/home/message",function(){ //加载完之后隐藏进度条 });  public ActionResult message(){    return PartialView("视图",实体); } 分页控件的使用 页面:  < div   id = " CommentList " > @ { Html . RenderAction ( " Index " ,   " Comment " ,   new   {   id   =   @
欢醉
2018/01/22
1.3K0
ASP.NET MVC 5 - 将数据从控制器传递给视图
在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。控制器类是给您写代码来处理传入请求的地方,并从数据库中检索数据,并最终决定什么类型的返回结果会发送回浏览器。视图模板可以被控制器用来产生格式化过的HTML从而返回给浏览器。 控制器负责给任何数据或者对象提供一个必需的视图模板,用这个视图模板来Render返回给浏览器的HTML。最佳做法是:一个视图模板应该永远不会执行业务逻辑或者直接和数据库进行交互。相应的,一个视图模板应该只和控制器所提供的数据进行交
葡萄城控件
2018/01/10
5K0
ASP.NET MVC 5 - 将数据从控制器传递给视图
将多个属性传递给 Vue 组件的几种方式
所有使用基于组件的体系结构(如Vue和React)的开发人员都知道,创建可重用组件是很困难的,而且大多数情况下,最终会通过传入大量的属性,以便从外部更容易地控制和自定义组件。这并不坏,但是传递大量属性确实会变得有点麻烦和丑陋。
前端小智@大迁世界
2020/05/11
1.9K0
不同页面传值
小程序页面传值,点击不同的页面反馈不一样对应页面 url传参 A页面:需要添加一些需传的值, <swiper indicator-dots='true' autoplay='true' interval='5000' duration='1000'   catchtap='onSwiperTap'> <swiper-item ><image src='/image/new-pic1.jpg' data-newsid='0' ></image></swiper-item> <swiper-item><imag
十月梦想
2018/08/29
1.8K0
如何将多个参数传递给 React 中的 onChange?
在 React 中,一些 HTML 元素,比如 input 和 textarea,具有 onChange 事件。onChange 事件是一个非常有用、非常常见的事件,用于捕获输入框中的文本变化。有时候,我们需要将多个参数同时传递给 onChange 事件处理函数,在本文中,我们将介绍如何实现这一目标。
网络技术联盟站
2023/06/07
2.7K0
iframe怎么将参数传递给vue 父组件
在子页面的iframe中想将参数传递给Vue父组件,可以使用postMessage()方法将数据发送给父窗口。父组件可以通过监听message事件来接收并处理这些数据。
王小婷
2023/08/10
1.4K0
控制器到视图的传值方式
(3)TempData        TempData实际上保存在Session中,控制器每次执行请求时都会从Session中获取TempData数据并删除该Session。TempData数据只能在控制器中传递一次,其中的每个元素也只能被访问一次,访问之后会被自动删除。
wfaceboss
2019/04/08
1.3K0
全景图转局部平面视图原理详解
前面两篇博客主要讲了如何从全景图转到小行星、水晶球视图。今天来说下如何从全景图中取一块儿平面视图出来。
一棹烟波
2019/05/25
2.9K1
简练的视图模型 ViewModel
patterns & practices Developer Center 发布了 Unity Application Block 1.2 for Silverlight - December 200
用户1172164
2018/01/16
8950
简练的视图模型 ViewModel
Qt官方示例解析-Address Book-基于单个数据模型在不同视图呈现不同数据
提要:Qt的这个示例主要讲的是使用代理模型,实现在不同的视图上面显示单个数据模型的数据 这个示例提供了一个地址簿,将联系人按照名称字母{"ABC", "DEF", "GHI", "JKL", "MNO", "PQR", "STU", "VW", "XYZ"}分成9个组。这是通过在同一个模型上使用多个视图实现的,每个视图都使用QSortFilterProxyModel类的一个实例进行过滤。地址簿包含5个类:MainWindow、AddressWidget、TableModel、NewAddressTab和AddDialog。MainWindow类使用AddressWidget作为其中心小部件,并提供文件和工具菜单。(与官方示例不同的地方是:MainWindow,使用AddressBook类继承了一下)
Sky_Mao
2020/07/24
5.3K0
Android开发-Listview中显示不同的视图布局
在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能。convertView在Item为单一的同种类型布局时,能够回收并重用,但是多个Item布局类型不同时,convertView的回收和重用会出现问题。比如有些行为纯文本,有些行则是图文混排,这里纯文本行为一类布局,图文混排的行为第二类布局。单一类型的ListView很简单,下面着重介绍一下ListView包含多种类型视图布局的情形。
他叫自己MR.张
2019/07/01
2.3K0
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.2K0
【QT】QT模型/视图
MVC(Model-View-Controller)包括了3个组件:模型(model)是应用对象,用来表示数据;视图(View)是模型的用户界面,用来显示数据;控制(Controller)定义了用户界面对用户输入的反应方式。
半生瓜的blog
2023/05/13
3K0
【QT】QT模型/视图
小程序不同页面之间的传值方式
今天来说一下小程序不同页面之间传值的几种方式: 1、URL传值 这种方式最常用,比如: wx.navigateTo({ url: '../detail/detail?cid='+cid+'&ac
连胜
2018/03/07
4.4K0
不同训练模型的比较
在上一篇文章结尾,我们提到了,与使用SGD(随机梯度下降)和冲量训练的模型相比,L-BFGS方法产生不同误差的解决方法。所以,有一个问题就是什么样的解决方法泛化能力最强,而且如果它们关注的方向不同,那么对于单个方法它们又是如何做到泛化能力不同的。 为了使分析更加容易,但至少保证符合实际,我们以“werewolf”为主题训练了一个线性SVM 分类器(W,bias)。换句话说,所有包含这一主题的电影都被标记为“+1”,而且我们随机的抽样“剩下的”电影,并将其标记为“-1”。至于特征,我们使用1500多个高频的关
用户1737318
2018/06/05
9070
如何在Linux中使用管道将命令的输出传递给其他命令?
在Linux中,管道使用竖线符号 | 表示,它位于两个命令之间。管道的基本语法如下:
网络技术联盟站
2023/09/06
1.5K0
如何在Linux中使用管道将命令的输出传递给其他命令?
如何在Linux中使用管道将命令的输出传递给其他命令?
在Linux系统中,管道(Pipeline)是一种强大的工具,它允许将一个命令的输出作为另一个命令的输入。通过管道,我们可以将多个命令串联在一起,实现数据的流动和处理。本文将详细介绍如何在Linux中使用管道将命令的输出传递给其他命令,并提供一些常见的使用示例。
网络技术联盟站
2023/06/14
1.4K0
如何在Linux中使用管道将命令的输出传递给其他命令?
点击加载更多

相似问题

将动态模型传递给局部视图

11

将模型属性传递给局部视图

22

将正确的模型传递给局部视图

34

如何将模型传递给局部视图

35

将模型传递给用于模式的局部视图

19
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文