国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

MVC基礎知識整理

2019-11-09 19:16:08
字體:
來源:轉載
供稿:網友

ActionResult子類演示

    1、ViewResult() -->action方法中要想返回視圖,則要使用ViewResult (MVC開發中用的最多)

    2、ContentResult() -->返回內容之用(特點,可以不需要有對應的視圖) Home/ContentResultDemo中有示例

    3、JsonResult() -->HomeController 的JsonDemo() 可以用作Ajax請求 ,注意:如果是get請求,則一定是要在Json()中寫入:JsonRequestBehavior.AllowGet

    4、FileResult() -->HomeController 的FileResultDemo() 可以用作畫驗證碼,也可以利用它來實現文件的下載

    5、HttpStatusCodeResult() --》用戶自己設置需要響應的狀態碼

    6、javaScriptResult 注意:Javascript配合視圖中的<script rc="">

    7、RedirectResult():執行頁面跳轉本質上是在響應報文頭中產生了 Location:要跳轉的頁面的虛擬路徑 命令

   8、RedirectToRouteResult :當系統中路由規則比較多的時候,可以由程序員指定使用哪個路由規則來生成url

_ViewStart.cshtml:

View根目錄下的_ViewStart.cshtml 先執行 然后再執行對應文件夾下的_ViewStart.cshtml 最后執行訪問的cshtml頁面

.NET里面webform的后綴是aspx  WCF和WebService的后綴是asmx 一般處理程序后綴是ashx 

MVC布局頁:

@RenderBody() 占位符 將來會被使用此布局的子頁面內容覆蓋掉 只能在layout中出現一次

@Style.Render(); @Script.Render(); 獲取Bundle中的樣式和js文件 根據虛擬路徑找到該虛擬路徑下注冊好的所有物理文件響應給瀏覽器  使用原因:減少http請求 自動壓縮js和CSS的大小 方便程序員調用

分部視圖:

分部視圖是什么? 類似于asp.net webform(aspx)中的自定義控件.ascx

作用:可以將相同的邏輯塊寫到分部視圖中,供其他視圖來使用

引用:

@Html.RenderAction(PartialView,controller )

@RenderSection(“script”,required:false) 表示script可以在子類中重寫 也就是說有此占位符才可以在子類寫js。RenderSection 所定義的標簽,可以被子頁面重寫,如果required設置成true,則必須子頁面重寫,如果是false可以不重寫也可以重寫

 

在cshtml視圖上,如果將視圖變成一個List<GroupInfo>的強類型視圖,那么在使用@Html.DisplayNameFor(a=>a.GroupId)會報錯,這是因為Razor視圖經過編譯發現List是一個具體的class所以a就推斷成List<GroupInfo>,可以通過將List<GroupInfo>改成IEnumerable<GroupInfo>來解決

html控件:

@Html.ActionLink("跳轉","About","Home",new { Word ="a"},new { @class="aa",@id="abc"})

相當于:<aclass="aa" href="/Home/About?word=a" id="abc">跳轉</a>

MVC路由

/路由支持默認值 如下的Api

            routes.MaPRoute(

                name: "Default",

                url: "Api/{controller}/{action}/{id}",

                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

                //通過正則確定參數的類型

                ,constraints:new {id="//d+"},

                //定義了此路由的命名空間

                namespaces: new string[] { "MVCRoute.Controllers" }

                //好處:

                //1、可以自動去MVC站點的bin目錄查找指定命名空間下的控制器類,大大節省了查        找時間,效率更優

                //2、方便同一個路由規則在不同控制器之間的切換

           //忽略路由

           routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

           //忽略某一種拓展資源或拓展名

           routes.IgnoreRoute("{resource}.do/{*pathInfo}");

 

//MVC中有2種視圖引擎 一種是aspx 另一種是Razor 并且排序為 1.aspx視圖引擎 2.Razor視圖引擎 使用此方法可以把aspx的搜索引擎屏蔽掉 提高搜索效率

  在MVC項目下的Global文件中加入:

          ViewEngines.Engines.RemoveAt(0);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汝州市| 红桥区| 华阴市| 靖西县| 黄骅市| 将乐县| 大港区| 吉安市| 日喀则市| 清丰县| 奎屯市| 威信县| 东源县| 郑州市| 泰顺县| 赤壁市| 镇赉县| 达州市| 苏尼特左旗| 上饶县| 邯郸县| 韶山市| 淮阳县| 温州市| 常德市| 日照市| 兴文县| 万源市| 大余县| 台东县| 彭水| 璧山县| 商城县| 巢湖市| 黔西| 辽源市| 腾冲县| 马鞍山市| 黑河市| 上蔡县| 九江县|