【问题标题】:Updating Views ASP NET MVC 3.0更新视图 ASP NET MVC 3.0
【发布时间】:2011-10-05 18:41:19
【问题描述】:

如何仅使用控制器刷新视图。有类似的东西吗?

public ActionResult Index()
{

     [Controller(Update = 10)]

}

【问题讨论】:

  • 你问有没有办法强制浏览器从服务器刷新?
  • [Update]=10;,这是什么编程语言?你的问题也被剥夺了意义。请在获得关闭它所需的 5 票之前提供更多详细信息。

标签: .net asp.net asp.net-mvc


【解决方案1】:

创建一个注入元刷新标签的“AutoRefresh”动作属性:

public class AutoRefreshAttribute : ActionFilterAttribute
{
    public const int DefaultDurationInSeconds = 300; // 5 Minutes

    public AutoRefreshAttribute()
    {
        DurationInSeconds = DefaultDurationInSeconds;
    }

    public int DurationInSeconds
    {
        get;
        set;
    }

    public string RouteName
    {
        get;
        set;
    }

    public string ControllerName
    {
        get;
        set;
    }

    public string ActionName
    {
        get;
        set;
    }

    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        string url = BuildUrl(filterContext);
        string headerValue = string.Concat(DurationInSeconds, ";Url=", url);

        filterContext.HttpContext.Response.AppendHeader("Refresh", headerValue);

        base.OnResultExecuted(filterContext);
    }

    private string BuildUrl(ControllerContext filterContext)
    {
        UrlHelper urlHelper = new UrlHelper(filterContext.RequestContext);
        string url;

        if (!string.IsNullOrEmpty(RouteName))
        {
            url = urlHelper.RouteUrl(RouteName);
        }
        else if (!string.IsNullOrEmpty(ControllerName) && !string.IsNullOrEmpty(ActionName))
        {
            url = urlHelper.Action(ActionName, ControllerName);
        }
        else if (!string.IsNullOrEmpty(ActionName))
        {
            url = urlHelper.Action(ActionName);
        }
        else
        {
            url = filterContext.HttpContext.Request.RawUrl;
        }

        return url;
    }
}

然后像这样使用它:

[AutoRefresh(DurationInSeconds = 10)]
public ActionResult Index()
{

}

【讨论】:

    猜你喜欢
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 2012-03-25
    相关资源
    最近更新 更多