Asp.net mvc 如何在ASP.MVC中将对象从一个视图传递到另一个视图
我仍然不太明白如何使用从另一个cshtml文件中获取的一个cshtml文件中的信息。我的程序由一个图库组成。当用户单击其中一张图片时,我希望重定向到另一个视图,该视图显示图片和与该图片相关的信息,而不是简单地指向仅包含图像url的页面。以下是我错误尝试的相关代码: 控制器:Asp.net mvc 如何在ASP.MVC中将对象从一个视图传递到另一个视图,asp.net-mvc,razor,Asp.net Mvc,Razor,我仍然不太明白如何使用从另一个cshtml文件中获取的一个cshtml文件中的信息。我的程序由一个图库组成。当用户单击其中一张图片时,我希望重定向到另一个视图,该视图显示图片和与该图片相关的信息,而不是简单地指向仅包含图像url的页面。以下是我错误尝试的相关代码: 控制器: public class HomeController : Controller { public ActionResult Index() { var client = new WebCli
public class HomeController : Controller
{
public ActionResult Index()
{
var client = new WebClient();
var response = client.DownloadString(Url.Action("gallery", "photo", null, Request.Url.Scheme));
var jss = new JavaScriptSerializer();
var result = jss.Deserialize<List<Photo>>(response);
return View();
}
public ActionResult FullImage(Photo m)
{
return View();
}
}
@section mainContent {
<ul class="thumbnails">
@foreach (var photo in Model)
{
<li class="item">
<a href='@Url.Action("FullImage", "Home", new {imageUrl="~/photos/" + photo.FileName, title= photo.Title, description= photo.Description})'>
<img alt="@photo.Description" src="@Url.Content("~/photos/" + photo.FileName)" class="thumbnail-border" width="180" />
</a>
<span class="image-overlay">@photo.Title</span>
</li>
}
</ul>
}
namespace PhotoGallery.Models
{
public class Photo
{
public string Title { get; set; }
public string FileName { get; set; }
public string Description { get; set; }
public string imageUrl { get; set; }
}
}
不能使用操作链接绑定到模型。您需要向操作传递主键或唯一键,并根据该键在操作中查找模型 例如,您可以在视图中执行以下操作:
@section mainContent {
<ul class="thumbnails">
@foreach (var photo in Model)
{
<li class="item">
<a href='@Url.Action("FullImage", "Home", new { fileName = photo.FileName})'>
<img alt="@photo.Description" src="@Url.Content("~/photos/" + photo.FileName)" class="thumbnail-border" width="180" />
</a>
<span class="image-overlay">@photo.Title</span>
</li>
}
</ul>
}
不能使用操作链接绑定到模型。您需要向操作传递主键或唯一键,并根据该键在操作中查找模型 例如,您可以在视图中执行以下操作:
@section mainContent {
<ul class="thumbnails">
@foreach (var photo in Model)
{
<li class="item">
<a href='@Url.Action("FullImage", "Home", new { fileName = photo.FileName})'>
<img alt="@photo.Description" src="@Url.Content("~/photos/" + photo.FileName)" class="thumbnail-border" width="180" />
</a>
<span class="image-overlay">@photo.Title</span>
</li>
}
</ul>
}
您应该使用局部查看方法。照片是否存储在数据库中?如果是,照片表的主键是什么?无数据库。图像的信息存储在一个json文件中,该文件被反序列化以分别获取每个图像。您应该使用局部查看方法。照片是否存储在数据库中?如果是,照片表的主键是什么?无数据库。图像的信息存储在一个json文件中,该文件被反序列化以分别获取每个图像。