Доступ к параметрам URL в платформе MVC - PullRequest
0 голосов
/ 28 октября 2009
public ActionResult Edit(string param)
{

}

http://localhost/Edit/5,someothervalue,etc

Как мне получить «param» из глобальной функции. По сути, я пытаюсь получить доступ к параметру в моем URL из метода statinc, который я создаю, который будет глобальным. Этот метод разбивает параметр и возвращает id и другие вещи, которые я передаю в параметре

1 Ответ

1 голос
/ 28 октября 2009

Я думаю, что вы ищете способ получить значения маршрута по заданному URL. Вот некоторый код, который может помочь вам сделать это с помощью строки URL. Просто отметьте, что я поместил интерфейс IRouteRegistrant, который просто имеет функцию Register, которая принимает коллекцию маршрутов. В основном замените это своим механизмом регистрации.

public static RouteData GetRouteValues(IRouteRegistrant registrant, string url)
{
      var routes = new RouteCollection();
      registrant.Register(routes);

      var context = new FakeHttpContext(url);
      return routes.GetRouteData(context);
}

Итак, чтобы получить значения (для вашего примера параметра), вам просто нужно следующее:

public static void MyFn()
{
     var values = GetRouteValues(....., "~/Edit/5");
     var paramValue = values.Values["param"];
     .....
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...