0

asp.net MVC3では、ソースWebページのクエリパラメータを使用して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"/>
}
4

3 に答える 3

1

あなたの問題の解決策はまさにこれです:

Html.BeginForm("Action", "Controller", new { id = 54 }, FormMethod.Get)
于 2012-02-02T23:29:24.433 に答える
0

これを使用してください: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

于 2012-02-01T14:41:54.937 に答える
0

この種の一時データを保存するには、TempData を使用します。tempdata は、読み取り後に 1 つの routetrip 用に保存され、keep メソッドを使用しない限り破棄する必要があります。

于 2012-02-01T14:56:11.717 に答える