2016-08-17 7 views
0

は、ここでIDに基づいて、私の私は、この画像を表示する次のページをクリックした画像ハイパーリンクのIDを取得したい、このコードでページハイパーリンクやdiv IDをMVCの別のページに渡すにはどうすればいいですか?

@foreach (var i in Model) 
{ 
    <li> 
     <a href="@i.Image" class="fancybox" data-fancybox-group="gallery" id="@i.Id"> 
      <img src="@i.Image" alt="" class="img-responsive"> 
     </a> 
    </li> 
} 

に画像を表示するためのコード、および起因するいくつかの他のですデータベースから

任意の提案は、あなたが別のアクションメソッドへのURLを構築し、クエリ文字列パラメータとして画像IDを渡すためにUrl.Actionヘルパーメソッドを使用することができます

+0

という名前のパラメータで画像IDを受け入れ、あなたのImageControllerDetailsアクションメソッドを持っていると仮定するコントローラメソッドあなたのリダイレクトの署名は何ですか? –

+0

署名とは? – ab00764

+0

メソッドの名前は何ですか?コントローラーの名前は何ですか?そのパラメータは何ですか? –

答えて

0

をしてください。

<a href="@Url.Action("Details","Image",new {imageId=i.Id})" 
         class="fancybox" data-fancybox-group="gallery" > 
     <img src="@i.Image" alt="" class="img-responsive" /> 
</a> 

上記のコードを実行すると、razorはaタ​​グのようにマークアップを生成します。

<a href=/"Image/Details?imageId=123" 

ここで、123は、ループ反復の画像のIDです。

あなたはimageId

public ActionResult Details(int imageId) 
{ 
    // imageId param will have the id of the clicked image. 
    // you can get the details of the image using the id and return something to the view. 
    // To do : Return something 
} 
+0

を参照してください。基本的には、Detailsメソッドの最後に、idの基数の詳細を表示したいページのビューに戻ります。ここでは、@Url.Action()を使用して、必要なページにIDを渡し、そのページでURLからIDを取得するための情報をGETメソッドで取得します。 – ab00764

+0

はい。クエリ文字列は、ImageIdという名前のパラメータにイメージIDを持ちます。あなたの詳細アクションでは、それを読んで、あなたが望むどこからでも必要な詳細を得ることができます(dbテーブルがありますか?)、何かをビューに返します。 – Shyju

+0

アクションメソッドのビューを追加する必要があります。 '〜/ views/Image'ディレクトリに' Details.cshtml'という名前のかみそりビューを作成します。これは基本的なMVCです。私はあなたがMVCの慣習についての理解を得るためにMVCのチュートリアルを読むことをお勧めします – Shyju

関連する問題