如何将URL参数与其中的句点绑定到MVC操作参数?

时间:2011-06-29 15:53:45

标签: asp.net-mvc-3 razor

网络浏览器使用以下网址调用我的操作;

Request URL:http://localhost:4000/MyController/UrlCheck?Menu.Url=sometext

我的行动如下;

public JsonResult UrlCheck(string Url)
{
    return Json("Url is " + Url , JsonRequestBehavior.AllowGet);
}

但Url参数永远不会被绑定,我尝试了以下无效;

public JsonResult UrlCheck([Bind(Prefix="Menu")] string Url)

URL由MVC本身作为Ajax帖子的一部分生成,并且绑定到复杂对象的属性,因此是“Menu.Url”位。更改URL参数的名称并不容易。

还尝试了Menu_Url作为参数名称。执行该操作以使路由工作正常。

1 个答案:

答案 0 :(得分:1)

我没有遇到像这样的绑定get参数,但我会尝试绑定到一个名为Menu的简单视图模型,并且有一个名为Url的属性。

E.g。

您的Viewmodel

public class SimpleViewModel
{
    public string Url { get; set; }
}

您的行动

public JsonResult UrlCheck(SimpleViewModel Menu)
{
    return Json("Url is " + Menu.Url, JsonRequestBehavior.AllowGet);
}