Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 使用一个视图处理根据URL在MVC中显示每个照片库的照片_Asp.net Mvc_Photo Gallery - Fatal编程技术网

Asp.net mvc 使用一个视图处理根据URL在MVC中显示每个照片库的照片

Asp.net mvc 使用一个视图处理根据URL在MVC中显示每个照片库的照片,asp.net-mvc,photo-gallery,Asp.net Mvc,Photo Gallery,我正在尝试使用mvc创建一个照片库,想知道是否可以避免为每个照片库创建多个单独的视图 以下是我对it结构的计划: /Media/Photos 此页面将列出每个图库的一张封面图片以及图库标题。 i、 e 画廊1 画廊2 是否有一种方法可以使用单个视图和/媒体/照片,当他们单击图像链接时,它会将他们导航到媒体/照片/GalleryTitle 根据标题,我将显示正确的图像 /Media/Photos/Gallery1 此页面将显示gallery 1中的所有个人照片 /Media/Photos/Gall

我正在尝试使用mvc创建一个照片库,想知道是否可以避免为每个照片库创建多个单独的视图

以下是我对it结构的计划:

/Media/Photos
此页面将列出每个图库的一张封面图片以及图库标题。
i、 e
画廊1
画廊2

是否有一种方法可以使用单个视图和/媒体/照片,当他们单击图像链接时,它会将他们导航到媒体/照片/GalleryTitle

根据标题,我将显示正确的图像

/Media/Photos/Gallery1
此页面将显示gallery 1中的所有个人照片
/Media/Photos/Gallery2
此页面将显示gallery 2中的所有个人照片

等等

如果我不能做到这一点,我将不得不为每个画廊创建一个视图


需要注意的是,我不会从数据库中提取任何内容。它将是静态的。

是的,这很容易实现,它只是单个控制器方法中的一个参数

范例

public ActionResult GalleryDisplay(int id)
{
    //Grab the items and populate a view model
    return View(yourVmHere);
}
假设使用标准路由,您可以使用URL结构从照片控制器执行此操作,如

/Photos/GalleryDisplay/1

如果您想将文本放入路由,只需在路由路径中添加一个变体来处理后面的字符串。

那么您在我的控制器中说,我会将所有图像src路径设置为一个列表,然后将它们发送到视图,以便使用razor循环?所以我假设我的控制器方法中有一个大型case语句。@WilliamVenice,您不需要case语句。这将传递标识库的ID值。您只需要获取一组图像,其中的
Gallery==ID
,并在视图中循环。@StephenMuecke我之所以说我需要一个case语句,是因为一切都是静态的。例如,我将创建一个名为Photo的模型,它有两个属性Title,ImageUrl。然后,如果ID=1,则创建一个新列表(),并将Gallery1中的所有内容添加到其中,然后发送到视图。这有意义吗,因为我没有基于ID的存储库或任何东西可以从中提取?你能告诉我我将如何通过画廊的标题,这是文本,而不是ID吗?我不知道他在路由路径中添加一个变体来处理后面的字符串是什么意思。那么,您如何确定哪些图像属于哪个库?我还是不明白你为什么认为你需要一份案情陈述?而不是
int-id
它可以是
string-gallery
并在
gallery==gallery
中获取图像,我想我刚刚找到了一种方法。创建模型照片(Id、标题、ImageSrc)。然后在我的控制器中创建一个名为GalleryImages的列表类型的私有属性,并将每个图像添加到此列表中。然后,我可以简单地使用linq来执行您正在讨论的where子句。这有意义吗?