【问题标题】:convert string into (object) routeValues C#将字符串转换为(对象)routeValues C#
【发布时间】:2015-02-10 14:30:49
【问题描述】:

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

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

在接受所有这些参数后,扩展函数将返回一个带有动作、控制器和查询字符串的 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"}) 轻松完成

但我必须使用扩展功能。

【问题讨论】:

  • 返回 string.format("{0}?{1}",helper.Action(action, controller),parameters); ?
  • 好吧,我很高兴,我会把它作为答案。

标签: c# urlhelper


【解决方案1】:

我不知道是否有更好、更受支持的方式,但这似乎可行,因此您可以使用它

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

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 2011-09-30
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2016-01-06
    相关资源
    最近更新 更多