从参数MVC获取值

时间:2013-03-11 22:33:25

标签: asp.net-mvc

如何从参数中获取值?我有链接:
1)http://localhost:2409/Account/Confirmation/16
2)../Account/Confirmation/12ds-2saa-fcse我想在控制器方法中得到“16”或“12ds-2saa-fcse”。

我的方法

    public ActionResult Confirmation(int id)
    {
        ViewBag.Message = "ID is: " + id;
        return View();
    }

但它返回null。

路线:

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

我该怎么做?

EDIT!

一切都工作得很好,我不知道为什么,但重启VS2012有助于..:O

现在是另一个问题。是否有可能从此链接获得hash值? /Account/Confirmation/16?hash=dasdsadasda。下面的代码不显示哈希字符串..

    public ActionResult Confirmation(int id, string hash)
    {
        ViewBag.Message = "ID is: " + id + HttpUtility.HtmlEncode("hash");
        return View();
    }

1 个答案:

答案 0 :(得分:1)

您更新的问题是您正在编码字符串"hash";不是String变量hash的值。

此:

public ActionResult Confirmation(int id, string hash)
{
    ViewBag.Message = "ID is: " + id + HttpUtility.HtmlEncode("hash");
    return View();
}

应该成为这个:

public ActionResult Confirmation(int id, string hash)
{
    ViewBag.Message = "ID is: " + id + HttpUtility.HtmlEncode(hash);
    return View();
}