从Code Behind生成MVC中的Url

时间:2011-12-17 16:29:51

标签: c# asp.net-mvc-3

让我们说我是一个动作方法,我想生成一个像这样的字符串:

http://www.myhost.com/Home/Index?Id=1

我想将此保存到数据库,所以我想知道是否有任何正式的方法来生成它而不是自己构建它。

我正在使用MVC3

提前感谢。

1 个答案:

答案 0 :(得分:13)

您可以使用控制器的Url属性:

public ActionResult Foo()
{
    string url = Url.Action("Index", "Home", new { id = 1 });
    // TODO: save to DB
}

如果您需要绝对网址,请使用正确的重载:

string url = Url.Action("Index", "Home", new { id = 1 }, "http");