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;
}