ASP.NET MVC3 ввод GET с использованием параметров запроса - PullRequest
0 голосов
/ 01 февраля 2012

В asp.net MVC3, как я могу реализовать ввод, что он делает GET, используя параметры запроса исходной веб-страницы?Я предпочитаю не использовать скрытые входы.

Обновление.Например, моя страница содержит параметр запроса id = 54, когда ввод вызывает GET, мне нужно, чтобы конечный контроллер / действие получил этот параметр запроса.

// could i change it for include query parameters of source page?
using (Html.BeginForm("Action", "Controller", FormMethod.Get))
{   
  <input type="submit" value="Text" onclick="submit"/>
}

Ответы [ 3 ]

1 голос
/ 03 февраля 2012

Решение вашей проблемы именно так:

Html.BeginForm("Action", "Controller", new { id = 54 }, FormMethod.Get)
0 голосов
/ 01 февраля 2012

Я бы использовал TempData для хранения такого рода временных данных, темпданные сохраняются для одной маршрутной поездки после того, как они прочитаны, их следует утилизировать, если не используется метод keep.

0 голосов
/ 01 февраля 2012

Используйте это: ControllerContext.HttpContext.Request.UrlReferrer.ToString(); Если это не поможет, вы можете использовать глобальный фильтр (зарегистрируйте его на global.asax)

protected void Application_Start()
{
    GlobalFilters.Filters.Add(new PreviousUrlSavingFilter())
}

public class PreviousUrlSavingFilter: ActionFilterAttribute
{
     protected override OnActionExecuted(ActionExecutedContext filterContext)
     {
         filterContext.HttpContext.Session["PreviousRouteData"] = filterContext.RouteData;
     }

     // use this property to access previous page route data
     public static RouteData PreviousUrlData
     {
         return (RouteData) HttpContext.Current.Session["PreviousRouteData"];
     }
}

Если вы хотите редактировать текущий URL, используя предыдущие параметры URL, этоВам будет полезна ссылка: https://stackoverflow.com/a/4222584/571203

...