我对此有些陌生,我在显示包含部分视图的页面时遇到问题,我希望有人查看我的结构,并指出我做错了什么。
这是我的主页,我将在其中显示其他剃刀页面内容。
简介页:
@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视图页面时,这就是我在“添加视图”框中的内容:
查看引擎:Razor(cshtml) 仅检查了“使用布局或母版页:”并且下方的框保留为空(如果在Razor _viewstart文件中设置,则保留为空)
当我渲染整个页面时,会显示所有不同的部分,但是用户名和传记区域应该填充数据库中没有这样做的数据。只有当我更改网址实际指向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'.
如何帮助我正确显示不同的剃刀视图页面,请帮助我。
答案 0 :(得分:0)
我通常使用对控制器的ajax调用来获取像How to populate a Table in View with Json results on click of button MVC
这样的部分视图对于您的代码,您可以将模型传递给通话中的部分
@Html.Partial("_passwordSet", Model.passwordSet)
如果您有视图模型,则可以将视图模型的一部分传递给局部模型,或者可以传递完整模型。无论什么效果最好。