2017-07-14 15 views
0

私は@ Html.Hiddenを持っています:@ Html.Hidden( "Zpy_moisId"、オブジェクトとしてViewBag.Zpy_moisId) どのようにパラメータを渡すことができますか? @ Html.Hiddenからactionlinkへ@ Html.Hiddenから選択した値を@ Ajax.ActionLinkの入力パラメータとして渡す方法

ありがとう。

+0

あなたがアクションリンクにパラメータを渡す何を意味するのですか?アクションリンクは単なるタグです。あなたが隠されたフィールドに入れている価値があるのなら、なぜ自分でhrf URLを作成することができなかったのですか? – Fran

答えて

1

サーバー側の場合は、同じViewDataを使用できます。

@Html.Hidden("Zpy_moisId", ViewData["Zpy_moisId"]) 
@Html.ActionLink("Server-side Link", "About", "Home", new { id = ViewData["Zpy_moisId"] }) 

出力

<input id="Zpy_moisId" name="Zpy_moisId" type="hidden" value="123"> 
<a href="/Home/About/123">Server-side Link</a> 

ボタンをクリックするなどの他のイベントに基づいてクライアント側でリンクを構築したい場合は、使用することができますjQueryの

@Html.Hidden("Zpy_moisId", ViewData["Zpy_moisId"]) 
<a id="sample-link">Client-side link</a> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $("#sample-link").attr("href", "@Url.Action("About", "Home")/" + 
      $("#Zpy_moisId").val()); 
    }) 
</script> 

出力

<input id="Zpy_moisId" name="Zpy_moisId" type="hidden" value="123"> 
<a id="sample-link" src="/Home/About/123">Client-side link</a> 

コントローラ

public class HomeController : Controller 
{ 
    [HttpGet] 
    public ActionResult Index() 
    { 
     ViewData["Zpy_moisId"] = "123"; 
     return View(); 
    } 

    [HttpGet] 
    public ActionResult About(int id) 
    { 
     return View(); 
    } 
} 
関連する問題