Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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# 如何在C Razor视图中动态构建路由值_C#_Asp.net_Asp.net Mvc 4_Razor - Fatal编程技术网

C# 如何在C Razor视图中动态构建路由值

C# 如何在C Razor视图中动态构建路由值,c#,asp.net,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc 4,Razor,我正在尝试设置一个页面,让我可以通过各种参数进行过滤。过滤器是控制器的可为空参数 例如,我有3个过滤器,A、B和C。我希望有不同的链接将A、B和C设置为不同的值,同时保持其他值不变 目前,我是这样做的: @{ var routeValues = new RouteValueDictionary(Model.routeValues); var temp = routeValues["a"]; routeValues["a"] = "1"; @Html.A

我正在尝试设置一个页面,让我可以通过各种参数进行过滤。过滤器是控制器的可为空参数

例如,我有3个过滤器,A、B和C。我希望有不同的链接将A、B和C设置为不同的值,同时保持其他值不变

目前,我是这样做的:

    @{
    var routeValues = new RouteValueDictionary(Model.routeValues);

    var temp  = routeValues["a"];
    routeValues["a"] = "1";
    @Html.ActionLink("A = 1","Index",routeValues)
    routeValues["a"] = "2";
    @Html.ActionLink("A = 2","Index",routeValues)
    routeValues["a"] = temp

    temp  = routeValues["b"];
    routeValues["b"] = "1";
    @Html.ActionLink("B = 1","Index",routeValues)
    routeValues["b"] = "2";
    @Html.ActionLink("B = 2","Index",routeValues)
    routeValues["b"] = temp

    temp  = routeValues["c"];
    routeValues["c"] = "1";
    @Html.ActionLink("C = 1","Index",routeValues)
    routeValues["c"] = "2";
    @Html.ActionLink("C = 2","Index",routeValues)
    routeValues["c"] = temp
}
我希望有一个更干净的方法来做这件事


谢谢

是的。。。丑陋的!!!只需在控制器中直接安装每个路由变量,并将此列表传递到模型中!嗯,你说的每一条路线的变化是什么意思?这只是一个例子,我正在寻找一个可扩展的解决方案?