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) 仅选中了“使用布局或母版页:”,下面的框为空(如果在 Razor _viewstart 文件中设置,则留空)

当我渲染整个页面时,会显示所有不同的部分,但用户名和传记区域应该填充数据库中的数据,而数据库中并没有这样做。只有当我将 url 更改为实际指向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'.

有关如何将不同的剃刀视图页面正确显示到一个或正确的结构中的任何帮助,请帮助我。

4

1 回答 1

0

我通常使用对控制器的 ajax 调用来获取部分视图,例如如何在单击按钮 MVC 时使用 Json 结果填充视图中的表

对于您的代码,您可以在调用中将模型传递给部分

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

如果您有视图模型,则可以将视图模型的一部分传递给部分模型,也可以传递完整模型。无论什么效果最好。

于 2013-10-16T03:17:18.423 回答