2012-02-13 40 views
1

MVC 3でjqueryグリッドを使用しています。formatterオプションです。次のコードをスクリプトセグメントとして使用しています。Razor構文のJavaScript値をパラメータ値として渡す方法

function viewformateadorLink(cellvalue, options, rowObject) { 
      return "<a href=../xxx/yyy/Edit/" + rowObject[0] + ">" + cellvalue + "</a>"; 
     } 

しかし、私は、hrefのここで私が発見した.betterオプションを使用しない以下のとおりである。

func....(){ 
    var url = '@Html.ActionLink("_name_", "Edit", new { id = "_id_" })'; 
      url = url.replace(/_name_/, cellvalue); 
      url = url.replace(/_id_/, rowObject[0]); 
      return url;  
    } 

任意の簡単な方法があるパラメータを渡すために存在?

+0

コードは正常です。どのような問題が発生していますか? –

+0

それは私が同じことをやってきた方法を改善していないと、とても似ています。あなたのトークンの置き換えのアイデアが好きです。以前は、@ ViewBag.RedirectUrl = @ Html.ActionUrl(arg、arg)をURLを生成するために使用し、リダイレクトするHTMLコントロールのonclick = "window.location.href = '@ ViewBag.RedirectUrl'"を使用しました。ちょっと汚いと感じたら、私はこれを行うもっとクリーンな方法にも興味があります。 –

答えて

3

リンクに渡す値がJavaScript変数にあり、hrefを使用したくない場合は、すでに行ったこと以上のことはできません。これが理由です。

JavaScriptコードは、サーバー側コードの後に​​常に実行されます。

@Html.ActionLink("_name_", "Edit", new { id = *JAVASCRIPT VARIABLE* }) 

が、原因私は上記の理由により、そのようなことは不可能です:

は、私はあなたのような何かをしたいと思います想像してみてください。

私は、あなたがあなたの質問で使用した他の方法に固執することをお勧めします。

+0

説明をありがとう! – mnhmilu