asp.net-mvc – .NET MVC是否有强类型的RedirectToAction?
发布时间:2020-05-23 15:17:26 所属栏目:asp.Net 来源:互联网
导读:既然我决定让RC在现在停留在Beta版的时候,我无法知道是否添加了强类型的RedirectToAction。有没有人尝试过,在RC中有强类型的RedirectToAction(也可能是ActionLink)? 不,没有。 protected RedirectToRouteResult RedirectToActionT(ExpressionActionT acti
|
既然我决定让RC在现在停留在Beta版的时候,我无法知道是否添加了强类型的RedirectToAction。有没有人尝试过,在RC中有强类型的RedirectToAction(也可能是ActionLink)? 解决方法不,没有。protected RedirectToRouteResult RedirectToAction<T>(Expression<Action<T>> action,RouteValueDictionary values) where T : Controller
{
var body = action.Body as MethodCallExpression;
if (body == null)
{
throw new ArgumentException("Expression must be a method call.");
}
if (body.Object != action.Parameters[0])
{
throw new ArgumentException("Method call must target lambda argument.");
}
string actionName = body.Method.Name;
var attributes = body.Method.GetCustomAttributes(typeof(ActionNameAttribute),false);
if (attributes.Length > 0)
{
var actionNameAttr = (ActionNameAttribute)attributes[0];
actionName = actionNameAttr.Name;
}
string controllerName = typeof(T).Name;
if (controllerName.EndsWith("Controller",StringComparison.OrdinalIgnoreCase))
{
controllerName = controllerName.Remove(controllerName.Length - 10,10);
}
RouteValueDictionary defaults = LinkBuilder.BuildParameterValuesFromExpression(body) ?? new RouteValueDictionary();
values = values ?? new RouteValueDictionary();
values.Add("controller",controllerName);
values.Add("action",actionName);
if (defaults != null)
{
foreach (var pair in defaults.Where(p => p.Value != null))
{
values.Add(pair.Key,pair.Value);
}
}
return new RedirectToRouteResult(values);
}
这应该工作。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用ASP.NET MVC3中的JavaScriptSerializer转义引号
- asp.net – 在MVC中控制SQL注入
- asp.net-mvc – 禁用生产中的Glimpse和glimpse.axd
- asp.net – viewstate到期了吗?
- asp.net – 从DAL返回BLL
- asp.net-mvc – 回发无法使用ASP.NET路由(视图状态MAC验证失
- asp.net-mvc – 何时公开IEnumerable而不是ICollection?
- asp.net-mvc – 如何在ASP .NET MVC中对参数进行URL编码
- asp.net – 如何调试w3wp clr.dll错误
- asp.net-mvc-3 – MVC模型范围验证器?
推荐文章
站长推荐
- asp.net-mvc – ASP.Net MVC 5 w /身份2.2.0注销
- asp.net-mvc-3 – System.Web.Mvc.HtmlHelper’不
- 没有完整PostBacks的ASP.NET JavaScript回调?
- asp.net-mvc-4 – 捆绑从CDN提供的多个CSS?
- asp.net – Jquery datepicker弹出窗口在IE8的选
- asp.net-mvc-4 – DataAnnotation Range属性的客
- 实体框架 – 在每个单元测试之前重新创建和重新设
- 您可以为标准ASP.NET Web窗体验证器定制客户端Ja
- asp.net-mvc – MVC5 Microsoft.CSharp.RuntimeB
- entity-framework – 将DbContext注入Repository
热点阅读
