Обновление
RouteData.Values["id"] + Request.Url.Query
Будет соответствовать всем вашим примерам
Не совсем ясно, чего вы пытаетесь достичь. MVC передает параметры URL для вас через привязку модели.
public class CustomerController : Controller {
public ActionResult Edit(int id) {
int customerId = id //the id in the URL
return View();
}
}
public class ProductController : Controller {
public ActionResult Edit(int id, bool allowed) {
int productId = id; // the id in the URL
bool isAllowed = allowed // the ?allowed=true in the URL
return View();
}
}
Добавление отображения маршрута в ваш файл global.asax.cs до того, как по умолчанию будет обрабатываться / Administration / part. Или, возможно, вы захотите заглянуть в области MVC.
routes.MapRoute(
"Admin", // Route name
"Administration/{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
Если вам нужны необработанные данные URL, тогда вы можете использовать одно из различных свойств URL и запроса, доступных в действии вашего контроллера
string url = Request.RawUrl;
string query= Request.Url.Query;
string isAllowed= Request.QueryString["allowed"];
Звучит так, будто Request.Url.PathAndQuery
может быть тем, что вы хотите.
Если вы хотите получить доступ к необработанным опубликованным данным, вы можете использовать
string isAllowed = Request.Params["allowed"];
string id = RouteData.Values["id"];