2

私はそのようなURLを持っています:

www.test.com/MyAreaName/MyControllerName/MyAction?key1=value&key2=value

次のような方法が必要です。

string generatedUrlWithQueryParams = Url.Action<MyController>(x => x.MyAction(MyViewModel));

razor htmlファイルからではなく、.csクラスから上記のメソッドを呼び出す必要があります。

どうやってやるの?asp.net mvc futures について聞いたことがありますが、そのメソッドを使用するための適切なメソッドまたは名前空間が見つかりません。

4

2 に答える 2

1

利用可能な場合Requestコントローラーアクションで利用可能)、UrlHelperクラスを使用できます。

var urlBuilder = new UrlHelper(Request.RequestContext);
var url = urlBuilder .Action("YourAction", new YourViewModel { Age = 44, Code = "Test"});

また

var url = urlBuilder .Action("YourAction", "YourController",
                                           new YourViewModel { Age = 44, Code = "Test"});

とプロパティYourViewModelがあり、生成された URL のルート値としてそれらが必要であると仮定します。AgeCode

このコードを別のクラスから呼び出す場合はRequestContext、コントローラー/アクションからそのコードに渡すことができます。

于 2016-01-26T18:07:45.600 に答える