将隐式类型对象转换为查询字符串

时间:2011-05-09 13:02:13

标签: asp.net asp.net-mvc-3 asp.net-4.0

在ASP.NET MVC3中,某些函数(如HtmlHelper.ActionLink)可以接受隐式类型的对象并将其转换为查询字符串

@Html.ActionLink("Link", "Action", new { id = 1, params="asd"})

会产生类似http://www.localhost.com/controller/Action?id=1&params=asd

的网址

是否有内置方法将对象的属性转换为查询字符串格式?

1 个答案:

答案 0 :(得分:3)

假设你有一个视图模型:

public class MyViewModel
{
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
}

和控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var model = new MyViewModel
        {
            Prop1 = "foo",
            Prop2 = "bar"
        };
        return View(model);
    }
}

您可以在视图中使用following overload

@model MyViewModel
@Html.ActionLink("Link", "Action", new RouteValueDictionary(Model))

在你看来。