2014-09-19 5 views
2

한 페이지에 매니페스트를 구현하려고합니다. 내가 구현 한 아래에 참조를 사용하여 매니 페스트를 구현하는 방법을 모르겠다. 하지만 작동하지 않습니다.mvc 응용 프로그램에 대한 매니페스트 캐시를 구현하는 방법

http://www.codemag.com/Article/1112051. 

내 의심의 여지 : 지역에서 비주얼 스튜디오 디버그 모드에서, 후에는 페이지 오른쪽으로 표시해야합니다 페이지를 새로 고칠 경우에도 매니페스트 구현 후? 여기에 게재되지 않습니다.

mvc에 매니페스트를 구현하는 방법을 도와주세요.

홈 컨트롤러 :

public ActionResult Index() 
     { 
      Response.Cache.SetCacheability(
       System.Web.HttpCacheability.NoCache); 

      ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; 

      return View(); 
     } 
     public ActionResult Manifest() 
     { 
      Response.ContentType = "text/cache-manifest"; 
      Response.ContentEncoding = System.Text.Encoding.UTF8; 
      Response.Cache.SetCacheability(
       System.Web.HttpCacheability.NoCache); 
      return View(); 
     } 

Index.cshtml :

<html manifest="@Url.Action("Manifest", "Home")"> 
<head> 
    <title></title> 
    <link href="~/Content/kendo/2014.2.903/kendo.common.min.css" rel="stylesheet" /> 
    <link href="~/Content/kendo/2014.2.903/kendo.default.min.css" rel="stylesheet" /> 
    <link href="~/Content/kendo/2014.2.903/kendo.dataviz.min.css" rel="stylesheet" /> 
    <link href="~/Content/kendo/2014.2.903/kendo.dataviz.default.min.css" rel="stylesheet" /> 

<script src="~/Scripts/kendo/2014.2.903/jquery.min.js"></script> 
    <script src="~/Scripts/kendo/2014.2.903/kendo.angular.min.js"></script> 
    <script src="~/Scripts/kendo/2014.2.903/kendo.all.min.js"></script> 

    <script src="~/Scripts/modernizr-2.6.2.js"></script> 

</head> 
<body> 

    <div id="grid"></div> 
    <button type="button" id="btnOfflineMode">Offline</button> 

    <script> 


     $("#grid").kendoGrid({ 
         columns: [ 
      { field: "Name" }, 
    { field: "Age" }, 
      { field: "NewCol" } 

      ], 
      dataSource: [ 
          { Name: "John Doe", Age: 33 } 
      ], 
      batch: true, 


     }).on('focus', function (e) { 
         var offset = $(this).offset(); 

      var textarea = $("<textarea>"); 
         textarea.css({ 
       position: 'absolute', 
       opacity: 0, 
       top: offset.top, 
       left: offset.left, 
       border: 'none', 
       width: $(this).width(), 
       height: $(this).height() 
      }) 
      .appendTo('body') 
      .on('paste', function() { 


       setTimeout(function() { 
       var value = $.trim(textarea.val()); 
       var grid = $("#grid").data("kendoGrid"); 
      var rows = value.split('\n'); 

        var data = []; 

        for (var i = 0; i < rows.length; i++) { 
         var cells = rows[i].split('\t'); 

         grid.dataSource.add({ 
          Name: cells[0], 
          Age: cells[1], 
          NewCol: cells[2] 

         }); 
        } 
       }); 
      }).on('blur', function() { 

      }); 

      setTimeout(function() { 
       textarea.focus(); 

      }); 
     }); 
     $("#grid").attr("tabindex", -1).focus(); 
    </script> 

</body> 
</html> 

Manifest.cshtml :

여기

은 내 코드입니다 16,
CACHE MANIFEST 
# version 1 

CACHE: 
/
/Content/kendo/2014.2.903/kendo.common.min.css 
/Content/kendo/2014.2.903/kendo.default.min.css 
/Content/kendo/2014.2.903/kendo.dataviz.min.css 
/Content/kendo/2014.2.903/kendo.dataviz.default.min.css 
/Scripts/kendo/2014.2.903/jquery.min.js 
/Scripts/kendo/2014.2.903/kendo.all.min.js 
/scripts/modernizr-2.6.2.js 


FALLBACK: 
/events /events.htm 
NETWORK: 
* 

@{ 
    Layout = null; 
} 

events.html : 사이트의 루트 폴더에 파일 site.maifest을 만들 수

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Events</title> 
    <link rel="Stylesheet" href="/Content/style.css" 
      type="text/css" /> 
</head> 
<body> 
    <section> 
     <h1>Events</h1> 
     <p> 
      The event listings are only available when 
      you are connected to the internet. 
      </p> 
     <div id="version">Version 1</div> 
    </section> 
</body> 
</html> 

답변

0

보십시오. 그리고 당신의 html로 그것을 참조하십시오. 이

<html manifest="site.manifest"> 

처럼 은 당신의 _Layout.cshtml 논리를 만들고 거기에 일반적인 마크 업을 배치하는 것이 더 될 것 같습니다.

나는 모든 것이 잘 작동하는 예제를 만듭니다. Here it is on GitHub

+0

내 솔루션을 위해 site.manifest를 만들었습니다. 주어진 참조. 브라우저 응용 프로그램 캐시에 아무 것도 표시하지 않음 – Ram

+0

site.manifest에 아무 것도 추가해야합니다. – Ram

+0

_ Layout.cshtml을 만들고 일반 마크 업을 이동 했습니까? – Agaspher