2013-02-10 118 views
1

我对此有点新,我无法显示包含部分视图的页面,我希望有人查看我的结构,也许指出我做错了什么。剃刀查看页面与多个部分查看剃须刀页

这是我的主页,我将在其中显示其他剃须刀页面内容。

的个人资料页:

@model Project.Models.PasswordModel 
@{ ViewBag.Title = "Profile Page"} 

//right column 
@if(ViewBag.HasLocalPassword) 

{ @Html.Partial("passwordChange") } 

else { @Html.Partial("passwordSet")} 

//left column 

@Html.Partial("username") 
@Html.Partial ("biography") 

当我创建的用户名和传记Razor视图页面,这是我曾在“添加视图”对话框:

视图引擎:剃刀(CSHTML) 只选中“使用布局或母版页:”,并将下方的框留空(如果设置在剃刀_viewstart文件中,请留空)

当我渲染整个页面时,所有不同的部分都会显示,但用户名和传记区域s应该填充来自数据库的数据,而不是这样做。只有当我更改网址实际指向username页面时,正在显示来自数据库的正确信息。

当我修改密码请点击输入新密码信息后,我收到此错误信息:

The model item passed into the dictionary is of type 'Project.Models.PasswordModel', but this dictionary requires a model item of type 'Project.Models.UserNameModel'.

我怎么能正确显示不同的Razor视图成一个网页或右结构的任何帮助请帮助我。

+0

您似乎不会将模型传递给您的偏好。 – 2013-02-10 18:49:04

+0

@DaveA我将如何正确地做到这一点。 – 072et 2013-02-10 18:53:20

回答

0

我通常使用AJAX调用控制器的部分景色喜欢这里How to populate a Table in View with Json results on click of button MVC

为您的代码,你可以通过一个模型的部分在您的通话

@Html.Partial("_passwordSet", Model.passwordSet) 

,如果你有一个观点,你的模型可以将部分视图模型传递给部分或者可以传递完整模型。无论什么效果最好。