ActionResult中的MVC字符串

时间:2011-12-02 15:43:42

标签: c# asp.net-mvc entity-framework actionresult

我使用名为“Home”的默认控制器。

我有以下ActionResult:

public ActionResult SetID(string ID)
{
    int? result = MyGateway.GetAccountByID(ID);
    Common.IDNum = result;
    return View("Index","Home");
}

我想传递IDNumber,如:

http://localhost:3314/Home/SetID/AA3420

......而不是......

http://localhost:3314/Home/SetID?ID=AA3420

上面的链接开始由返回列表的视图生成。要选择记录,请单击“选择”,这是上面的链接。我目前正在将“AA3420”设置为位于其他名为Common.cs的CS文件中的会话变量。

如何将我的网址设为:http://localhost:3314/Home/SetID/AA3420

2 个答案:

答案 0 :(得分:3)

通过在global.asax Application_Start中注册以下路由:

 var routes = RouteTable.Routes;

 routes.MapRoute(
            "ID Action", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new {controller = "Home", action = "SetID", ID = ""} // Parameter defaults
            );

答案 1 :(得分:0)

查看您的Global.asax。在那里定义默认路由和默认参数。 像这样:

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);