2016-08-01 120 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