我是MVC的新手,我想问一个相对简单的问题!我有一个索引页面,其中包含2个链接图片。他们都去另一个页面,名为" Page",当这个页面打开时,我想让它渲染我刚刚点击的图像。以下是索引页面的一个障碍:
<div class="col-md-4">
<h2>Column 1</h2>
<a href="@Url.Action("NewPage", "Page")">
<img src="~/Images/ball.jpg" />
</a>
</div>
<div class="col-md-4">
<h2>Column 2</h2>
<a href="@Url.Action("NewPage", "Page")">
<img src="~/Images/ball1.jpg" />
</a>
</div>`
因此,如果我点击&#34; ball.jpg&#34;,我只希望在新页面中进行渲染,而对于&#34; ball1.jpg&#34;则相同。 控制器&#34; NewPage&#34;:
namespace MVC.Mine.Controllers
{
public class PageController : Controller
{
// GET: Page
public ActionResult NewPage()
{
return View();
}
}
}
答案 0 :(得分:0)
您可以更新链接的href
属性值,以将唯一键作为查询字符串参数值传递。
例如,使用当前代码,可以传递图像文件名。
<a href="@Url.Action("NewPage", "Page",new {id="ball"})">
<img src="~/Images/ball.jpg" />
</a>
<a href="@Url.Action("NewPage", "Page",new {id="ball1"})">
<img src="~/Images/ball1.jpg" />
</a>
现在确保您的NewPage操作方法在名为id
的参数中接受此字符串值public ActionResult NewPage(string id)
{
var fileName=id+".jpg";
return View(fileName);
}
由于您将字符串值(文件名)传递给视图,因此请确保将其强类型化为字符串类型。
@model string
<h2>Going to display the image clicked</h2>
<img src="~/Images/@Model" />
如果要显示数据库表中记录的图像,则应传递唯一ID(主键),从中可以在NewPage操作方法中轻松检索图像信息。