3

私は T4MVC とその厳密に型指定された URL を使用するのが好きで、それらを JS で使用したいと考えていますが、いくつか問題があります。URLをdivにロードしたいとしましょう:

$('#mydiv').load("@Url.Action(MVC.Home.Index())");  //that works

しかし、アクションが何らかの js 属性値でパラメーター化されている場合はどうなるでしょうか?

public ActionResult Index2(int id){}

var id = $('#mydiv').attr('index');
$('#mydiv').load("@Url.Action(MVC.Home.Index2(id))");  //this certainly doesn't work, since "id" is a JS variable
$('#mydiv').load("@Url.Action(MVC.Home.Index2(-1))".replace("-1", id));  //this is a workaround I use now, but don't like it :)

ただし、パラメーターが int ではなく Guid の場合、guid-default 値が長すぎるため、回避策が醜くなります..

他の解決策は何ですか?ありがとう

4

1 に答える 1

4

一般的なアプローチは大丈夫かもしれません。guid の場合、以下を変更できます。

@Url.Action(MVC.Home.Index2(-1))

@Url.Action(MVC.Home.Index2().AddRouteValue("id", -1))

このようにして、型システムを回避し、必要なダミー値を渡すことができます。

于 2011-10-26T04:24:42.213 に答える