Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将ASP.NET MVC操作参数名称映射到其他名称_C#_Asp.net Mvc_Parameters_Action - Fatal编程技术网

C# 将ASP.NET MVC操作参数名称映射到其他名称

C# 将ASP.NET MVC操作参数名称映射到其他名称,c#,asp.net-mvc,parameters,action,C#,Asp.net Mvc,Parameters,Action,我可以将动作的参数映射到其他名称吗 我想使用保留字作为操作的参数,例如: search?q=someQuery&in=location&for=x 所以“in”和“for”不能用作方法的参数名。 是否有内置的功能,或者我应该创建一个模型绑定器 谢谢。您可以使用“@”符号将名称按字面意思解释,而不是用c#中的保留字 伟大的谢谢完全忘记了它(就像html属性中的@class)。但是,如何将“in”这样的查询项映射到名为“inLocation”的参数呢?我可能只是创建ActionPa

我可以将动作的参数映射到其他名称吗

我想使用保留字作为操作的参数,例如:

search?q=someQuery&in=location&for=x
所以“in”和“for”不能用作方法的参数名。 是否有内置的功能,或者我应该创建一个模型绑定器


谢谢。

您可以使用“@”符号将名称按字面意思解释,而不是用c#中的保留字


伟大的谢谢完全忘记了它(就像html属性中的@class)。但是,如何将“in”这样的查询项映射到名为“inLocation”的参数呢?我可能只是创建ActionParameterName属性,使用类似:[ActionParameterName(“in”)]inLocation的用法。与[ActionName]对actions.public ActionResult MyMethod([Bind(Prefix=“in”)]string inLocation){…}@Arnis L.的操作完全相同。该建议有什么问题?正如elad.ossadon的评论所建议的,重命名参数正是[Bind(Prefix=…)]设计要涵盖的场景之一。非常感谢,这非常有用。我这样使用它非常成功:[Bind(Prefix=“Product.Brand”)]intbrandid
public ActionResult Test(string @for)
{
    var something = @for;
}