C# asp.net mvc期间在POST参数中

C# asp.net mvc期间在POST参数中,c#,facebook,asp.net-mvc-2,C#,Facebook,Asp.net Mvc 2,我知道querystring参数中可以有一个句点,但不能在.net的变量名中指定句点 下面的代码显然不起作用,但我的外部系统在名称中使用句点。有办法做到这一点吗 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Index(string hub.mode) { return View(); } 您可以直接从请求散列中读取值: [HttpPost] public ActionResult Index() { string hubM

我知道querystring参数中可以有一个句点,但不能在.net的变量名中指定句点

下面的代码显然不起作用,但我的外部系统在名称中使用句点。有办法做到这一点吗

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(string hub.mode)
{
    return View();
}

您可以直接从
请求
散列中读取值:

[HttpPost]
public ActionResult Index()
{
    string hubMode = Request["hub.mode"];
    return View();
}
或者使用中间类:

public class Hub
{
    public string Mode { get; set; }
}

[HttpPost]
public ActionResult Index(Hub hub)
{
    string hubMode = hub.Mode;
    return View();
}

您会注意到,
对于ASP.NET MVC默认模型活页夹具有特殊意义。

您可以直接从
请求
散列中读取值:

[HttpPost]
public ActionResult Index()
{
    string hubMode = Request["hub.mode"];
    return View();
}
或者使用中间类:

public class Hub
{
    public string Mode { get; set; }
}

[HttpPost]
public ActionResult Index(Hub hub)
{
    string hubMode = hub.Mode;
    return View();
}

您会注意到,
对于ASP.NET MVC默认模型活页夹具有特殊意义。

这是唯一的方法吗?似乎hub_模式的参数也可以使用下划线替换句点。我意识到这可能会导致重复的回发,但如果有人真的同时定义了Hub.Mode和Hum_模式,我会欢迎一个例外。我想另一种方法是使用属性HubMode创建ViewModel,该属性可以读取和写入Hub.Mode。这是唯一的方法吗?似乎hub_模式的参数也可以使用下划线替换句点。我意识到这可能会导致重复的回发,但如果有人真的同时定义了Hub.Mode和Hum_模式,我会欢迎一个例外。我想另一种方法是使用属性HubMode创建ViewModel,该属性可以读取和写入Hub.Mode。