【发布时间】:2014-01-24 16:22:37
【问题描述】:
我是 MVC C# 的新手,仍在学习基础知识。
我想我已经接近得到结果,但编译器不喜欢它。
我正在尝试将 2 个模型传递到主视图中。我认为我可以使用局部视图来存储一个模型,而主视图可以使用另一个模型。比如……
// GET: /Pictures/
public ActionResult Index()
{
//Retrieve all pictures from database
var pictures = db.Pictures.ToList();
return View(pictures);
}
Pictures/Index 将收到 图片模型,_Login 将收到 用户模型
@model Project1.Models.User
<div id="login">
@if (this.Context.User.Identity.IsAuthenticated)
{
//Select username from email address cookie
@Html.ActionLink("My Account", "Index", "Users", new { id = this.Context.User.Identity.Name }, false) @: | @Html.ActionLink("Logout", "Logout", "Users")
//
}
else
{
using (Html.BeginForm("Login", "Users"))
{
<span>
@Html.LabelFor(u => u.Email)
@Html.TextBoxFor(u => u.Email)
</span>
而pictures/index.cshtml如下
@model IEnumerable<Project1.Models.Picture>
@{
ViewBag.Title = "Animal Pictures";
}
@Html.Partial("_PictureUpload") //I thought the model would be local to _PictureUpload and then be passed?
<div id="gallery">
@foreach (var picture in Model)
{
@picture.File
}
</div>
@Html.Partial("_PictureUpload")
但 Html.Partial("_PictureUpload") 中的 Picture.cs 和 Html.Partial("_Login") 中的 Users.cs 似乎存在冲突
如何在同一个视图中拥有图片和用户模型?希望我已经解释了我的问题足以理解。
请尽可能简单,我只是想了解一下它现在是如何工作的。
【问题讨论】:
-
您在
pictures/index.cshtml的哪个位置调用您的登录部分?Pictureupload采用什么型号? -
它实际上是在 _Layout.cshtml 中调用的,因为我想在所有页面上登录。实际上考虑一下,我认为图片上传会占用用户类和图片类。 -- PSEUDO CODE -- 如果没有登录,登录(使用用户类)如果登录使用图片类(接受图片数据)这是正确的做法吗?
标签: c# asp.net asp.net-mvc model