1. 程式人生 > >asp.net mvc3中母版頁+區域性重新整理的用法

asp.net mvc3中母版頁+區域性重新整理的用法

      專案的Views資料夾下有個shared的資料夾,在它的的下面有個_Layout.cshtml的檔案,也就是母版頁。他並沒有controller,但是裡面的資料從哪裡獲得呢?mvc3提供了一個方法@html.Raw(string str)。比如你要在<div></div>裡面寫一些內容 就可以這樣用<div>@html.Raw("<div>123566</div>")</div>   str可以在任意類中獲得。

  _Layout.cshtml 程式碼如下

<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script type="text/javascript" src="/Scripts/jquery.unobtrusive-ajax.min.js"></script> //實現區域性重新整理要引入這兩個js檔案 切記
</head>

<body>
<div id="main">// 這個main 下面講區域性重新整理時會用到
   @RenderBody() //這句話的意思就是 誰用到我母版頁 誰就得把你自己的內容放在裡面 比如說下面的index檢視中@{ Layout ="~/Views/Shared/_Layout.cshtml";}
</div>
 <span>13216465464656</span>  
  <a href="/test2/ajaxtest" data-ajax-update="#main" data-ajax="true">hsidfh哦該哦iasjoijg</a> //講解區域性重新整理時會用到
</body>
</html>

    下面開始用法

           第一步 要新建一個controller和view檢視 比如 我們建一個叫testcontroller 還有一個Index檢視

          在global.asax 裡面修改路由(這部分內容可以上網查詢資料 我也不是太瞭解) 看下面程式碼

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // 路由名稱
                "{controller}/{action}/{id}", // 帶有引數的 URL
                new { controller = "test"

, action = "Index", id = UrlParameter.Optional } // 引數預設值
            );
        }

   把黑色字型改成你要首先進入的controller和actionname的名字。

第二部  上面所說的index檢視如下

   @{
    Layout ="~/Views/Shared/_Layout.cshtml";//=後面的就是文章開頭所說的_Layout.cshtml
}

<!DOCTYPE html>

<html>
<head>
    <title>Index</title>
</head>
<body>
    <div>
    1452525555hsdkhfjsd
    </div>
   
</body>
</html>

  當你執行的時候 index檢視中的1452525555hsdkhfjsd 會出現 id=main的div中  母版頁的用法就這樣

下面講區域性重新整理

    假如你你有一個a標籤 放在index檢視中或者_Layout中  <a href="/test2/ajaxtest" data-ajax-update="#main" data-ajax="true">hsidfh哦該哦iasjoijg</a>

點選這個a標籤 就會把ajaxtest裡面的內容更新到id為main的div中

  區域性重新整理就這樣

 寫的不好 見諒