如何更改路由参数的名称
How can i change the route parameter's name
我正在实施一些 api
。 api 发给我 http get requests
。所有参数的名称都是大写的。
因此,查询字符串如下所示:
myURL?CALLID=1&STATE=START
我已将新的 MapRoute 添加到我的 Global.asax
routes.MapRoute(
"VotBox",
"VotBox/Notify/{CALLID}{STATE}",
new { controller = "VotBox", action = "Notify", CALLID = -1, STATE = ""},
new { STATE = "STARTCALL" }
);
而我的 Controller
的参数名称为大写。所以我的 Action
看起来像这样:
public class VotBoxController : Controller
{
[HttpGet]
public void Notify(int CALLID, string STATE)
{
}
}
但我希望我的参数以标准驼峰命名法命名。
我如何更改参数名称以便操作如下所示:
[HttpGet]
public void Notify(int callId, string state)
{
}
尝试将您的 routes.MapRoute
更改为:
routes.MapRoute(
"VotBox",
"VotBox/Notify/{callId}{state}",
new { controller = "VotBox", action = "Notify", callId = -1, state= ""},
new { state= "STARTCALL" }
);
根据您的特定路由定义,它将适用于以下所有网址
/VotBox/Notify/4/STARTCALL
/VotBox/Notify/4/startcall
/VotBox/Notify?CALLID=3&STATE=anyString
/VotBox/Notify?callId=3&state=anyString
参数名称的大小写无关紧要。它适用于小写或大写。
我正在实施一些 api
。 api 发给我 http get requests
。所有参数的名称都是大写的。
因此,查询字符串如下所示:
myURL?CALLID=1&STATE=START
我已将新的 MapRoute 添加到我的 Global.asax
routes.MapRoute(
"VotBox",
"VotBox/Notify/{CALLID}{STATE}",
new { controller = "VotBox", action = "Notify", CALLID = -1, STATE = ""},
new { STATE = "STARTCALL" }
);
而我的 Controller
的参数名称为大写。所以我的 Action
看起来像这样:
public class VotBoxController : Controller
{
[HttpGet]
public void Notify(int CALLID, string STATE)
{
}
}
但我希望我的参数以标准驼峰命名法命名。 我如何更改参数名称以便操作如下所示:
[HttpGet]
public void Notify(int callId, string state)
{
}
尝试将您的 routes.MapRoute
更改为:
routes.MapRoute(
"VotBox",
"VotBox/Notify/{callId}{state}",
new { controller = "VotBox", action = "Notify", callId = -1, state= ""},
new { state= "STARTCALL" }
);
根据您的特定路由定义,它将适用于以下所有网址
/VotBox/Notify/4/STARTCALL
/VotBox/Notify/4/startcall
/VotBox/Notify?CALLID=3&STATE=anyString
/VotBox/Notify?callId=3&state=anyString
参数名称的大小写无关紧要。它适用于小写或大写。