繁体   English   中英

将全局查询字符串参数添加到T4MVC生成的链接

[英]Add a global querystring paramter to T4MVC generated links

我如何向T4MVC添加一个挂钩,以便当我使用T4MVC链接到动作时,它会检查当前请求中是否有参数,例如PIN = 1234。 如果存在,我希望将此参数添加到生成的链接中。

我为UrlHelper创建了扩展方法,该方法包装了T4MVC的UrlHelper扩展方法。 这会将必需的附加参数添加到从T4MVC生成的每个链接中。

public static class T4MVCHelpers
{
    /// <summary>
    /// Returns a T4MVC generated url, passing along PIN
    /// </summary>
    public static string ActionUrl(this UrlHelper urlHelper, ActionResult result)
    {
        var pin = urlHelper.RequestContext.HttpContext.Request["Pin"];
        if (!string.IsNullOrEmpty(pin))
        {
            result.AddRouteValue("Pin", pin);
        }
        return urlHelper.Action(result);
    }
}

然后,我总是调用此包装器方法,而不是T4MVC的方法

var Url.ActionUrl(MVC.SomeController.Index(1));

现在取决于请求的URL。 如果发出请求的网址没有pin参数,它将看起来像这样

/SomeController/Index?param1=1

现在取决于请求的URL。 如果发出请求的网址的PIN = 123,则它将如下所示

/SomeController/Index?param1=1&PIN=123

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM