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"
);
}
把黑色字型改成你要首先進入的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中
區域性重新整理就這樣
寫的不好 見諒