2016-08-01 93 views
0

我是新来的MVC,我想问一个相对简单的问题!我有一个索引页面,有两张图片是链接。他们都进入另一个页面,名为“页面”,当这个页面打开时,我想让它呈现我刚才点击的图片。下面是从索引页一个障碍:动态显示点击图像MVC

<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>` 

所以,如果我点击“ball.jpg”,我想只有在新的页面呈现,与同为“ball1.jpg”。 的“新页”的控制器:

namespace MVC.Mine.Controllers 
{ 
    public class PageController : Controller 
    { 
     // GET: Page 
     public ActionResult NewPage() 
     { 
      return View(); 
     } 
    } 
} 
+1

您需要将参数传递给标识图像的方法 –

回答

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> 

现在确保你的新页的操作方法在名为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(主键),从该图像信息可以在你的新页的操作方法很容易地检索。

+0

感谢您发布此信息。我遵循前两部分,但第三部分我并没有完全遵循。 – RJohnson

+0

你说你想在下一页显示点击图片。因此,将图像名称从您的操作方法传递到视图,并在视图中使用它来构建图像的'src'属性值。希望这是有道理的 – Shyju