我有以下代码
public class UserProfileController : Controller
{
public ActionResult Index(string manager="",string status="")
{
var rvd = // Get route value dictionary for current call
UserProfileService.GetEmployees(rvd);
return View(vm);
}
}
我希望能够将RouteValueDictionary传递给UserProfileService,其中包含manager和status的key \ values。
例如
如果我提出以下请求,https://localhost:44301/UserProfile?manager=bill&status=active 我希望路由值字典包含管理器和状态键。
到目前为止,我所能找到的是RouteDate,其中包含" controller"的键值。和"行动"但不是行动方法参数值"经理","活跃"。
答案 0 :(得分:0)
最终创建和扩展方法来完成这项工作。
public static IDictionary<string,string> MergeRouteQueryValues (this Controller c) {
var d = new Dictionary<string,string>() {
{"controller",c.ControllerName()},
{"action",c.ActionName()}
};
foreach (string key in c.Request.QueryString.Keys) {
d.Add(key,c.Request.QueryString[key]);
}
return d;
}