0
如何向T4MVC添加一个钩子,以便当我使用T4MVC获取到操作的链接时,它会检查当前请求是否有参数,可以说PIN = 1234。如果存在,我希望将此参数添加到生成的链接。向T4MVC生成的链接添加全局查询字符串参数
如何向T4MVC添加一个钩子,以便当我使用T4MVC获取到操作的链接时,它会检查当前请求是否有参数,可以说PIN = 1234。如果存在,我希望将此参数添加到生成的链接。向T4MVC生成的链接添加全局查询字符串参数
我为UrlHelper创建了一个扩展方法,它包装了UrlHelper的T4MVC的扩展方法。这将所需的附加参数添加到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。如果请求的url没有引脚参数,它将看起来像这样
/SomeController/Index?param1=1
现在取决于请求的url。如果请求的url具有PIN = 123,它将如下所示
/SomeController/Index?param1=1&PIN=123