将字符串转换为(对象)routeValues C#

convert string into (object) routeValues C#

我正在为 UrlHelper 编写一个扩展函数。此函数将接受三个字符串参数。第一个参数是 ACTIOn,第二个是 CONTROLLER,第三个是一些随机字符串。

示例:url.customeURL("Index", "Home", "view=someview");

接受所有这些参数后,扩展函数将 return 一个 URL 带有动作、控制器和查询字符串,例如;

/Home/Index?view=someview

这是我的函数:

public static string CustomUrlAction(this UrlHelper helper, string action, string controller, string parameters)
        {
            return helper.Action(action, controller, new { parameters });
        }

我当前的实现面临的问题是,当我将 PARAMETERS 传递给 routeValues 对象时,它使 URL 像:

/home/index?parameters=view=someview

而我希望它创建一个 URL,例如:

/Home/Index?view=someview

那么我有办法做到这一点吗?我知道这可以通过 Url.Action("Index", "Home", new {"view=someview"})

轻松完成

但我必须用扩展函数来做。

不知道有没有更好、更受支持的方法,不过这个好像可以,你可以用

public static string CustomUrlAction(this UrlHelper helper, string action, string controller, string parameters)
        {
            return String.Format("{0}?{1}",helper.Action(action, controller),parameters);
        }