none
asp.net mvc 2 怎么实现局部更新 RRS feed

  • 问题

  • 你好,我有一个Index页面,在里面放了一个局部视图(视图名称:test),控制器如下:

            [OutputCache(Duration=3600,VaryByParam="none")]
            public ActionResult Index()
            {
                ViewData["Message"] = string.Format("欢迎使用 ASP.NET MVC!时间为:{0}", DateTime.Now);

                return View();
            }

            public ActionResult Test()
            {
                ViewData["msg"] = string.Format("欢迎使用 缓存!时间为:{0}", DateTime.Now);
                return View();
            }

    我对Index页面做了缓存,但是局部视图Test不想缓存.应该怎么实现,多谢

    2012年2月8日 4:01

答案

  • 使用jQuery的$.ajax 即可達到

    View Index.aspx

    <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
     
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    
        <script src='<%=Url.Content("~/Scripts/jquery-1.4.1.min.js") %>' type="text/javascript"></script>
        <script type="text/javascript">
    
            $(document).ready(init);
    
            function init() {
                 
                reflashDiv();
            }
            function reflashDiv() {
                $.ajax({
                    url: "/Home/Test",
                    type: "get",
                    aysnc: false,
                    data: {},
                    success: function (htmlVal) {
    
                        $("#targetDiv").html(htmlVal);
                        //每一秒鐘局部刷新
                        setTimeout(reflashDiv, 1000);
                    }
                    
                });
               
            }
        
        
        </script>
        <h2><%: ViewData["Message"] %></h2>
    
        <div id="targetDiv">
        </div>
       </asp:Content>


    2012年2月8日 5:19