2
にクエリ文字列を送信し、私はリダイレクトした後、次のcontroller-RedirectToAction MVC
public class VisitMasterController
{
public ActionResult StartBrVisit()
{
string id=(Request.QueryString["id"].ToString(); //value=null here
}
public ActionResult BrNotPresent()
{
return RedirectToAction("StartBrVisit","VisitMaster" , new { id = "id", name = "name" });
}
{
で2つのアクションメソッドをした、Request.QueryString["id"]
はNULLを返します。
context.MapRoute(
"BR_default",
"BR/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "OpinionLeader.Areas.BR.Controllers" } //add this line
);
は - 私のデフォルトルートの設定すべてのヘルプ?
をパラメータを追加するためにはるかに簡単だろう
を使用してアクセスすることができましたか?なぜ、 'public ActionResult StartBrVisit(int id)'を使用しないのですか? –
@StephenMuecke - はい、名前がidのデフォルトルートがあります。私は私の質問を更新しました。私はここで文字列を使用する必要があります。 –
次に、メソッド 'public ActionResult StartBrVisit(string id)'を作成します( 'string name'も追加できます)。 'id'の値はクエリの文字列の値ではなくルートの値として追加されるので、' Request.RequestContext.RouteData.Values ["id"] 'を使うこともできます。 –