• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    asp.net模板引擎Razor調用外部方法用法實例

    來源:懂視網 責編:小采 時間:2020-11-27 22:38:31
    文檔

    asp.net模板引擎Razor調用外部方法用法實例

    asp.net模板引擎Razor調用外部方法用法實例:本文實例講述了asp.net模板引擎Razor調用外部方法用法。分享給大家供大家參考。具體如下: 首先使用Razor的步驟:讀取cshtml、解析cshtml同時指定cacheName。 而這個步驟是重復的,為了遵循DRY原則,將這段代碼封裝為一個RazorHelper()方法
    推薦度:
    導讀asp.net模板引擎Razor調用外部方法用法實例:本文實例講述了asp.net模板引擎Razor調用外部方法用法。分享給大家供大家參考。具體如下: 首先使用Razor的步驟:讀取cshtml、解析cshtml同時指定cacheName。 而這個步驟是重復的,為了遵循DRY原則,將這段代碼封裝為一個RazorHelper()方法

    本文實例講述了asp.net模板引擎Razor調用外部方法用法。分享給大家供大家參考。具體如下:

    首先使用Razor的步驟:讀取cshtml、解析cshtml同時指定cacheName。

    而這個步驟是重復的,為了遵循DRY原則,將這段代碼封裝為一個RazorHelper()方法

    public class RazorHelper
    {
     public static string ParseRazor(HttpContext context, string csHtmlVirtualPath, object model)
     {
     string fullPath = context.Server.MapPath(csHtmlVirtualPath);
     string cshtml = File.ReadAllText(fullPath);
     string cacheName = fullPath + File.GetLastWriteTime(fullPath);
     string html = Razor.Parse(cshtml,model,cacheName);
     return html;
     }
    }
    
    

    如何在cshtml中用Razor調用外部方法

    1. 首先在cshtml文件引用test1和test2所在類的命名空間

    @using WebTest1.RazorDemo;<!--test1和test2所在類的命名空間-->
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <title></title>
    </head>
    <body>
     @RazorTest.test1()<br />
     @RazorTest.test2()
    </body>
    </html>
    
    

    2. 在一般處理程序中調用RazorHelper.ParseRazor(),將讀取到的cshtml文件返回給客戶

    public void ProcessRequest(HttpContext context)
    {
     context.Response.ContentType = "text/html";
     string html = RazorHelper.ParseRazor(context, @"~/Razordemo/Razor2.cshtml", null);
     context.Response.Write(html); 
    }
    
    

    為什么要在cshtml文件中調用方法呢?

    先看一個繁瑣的,在cshtml中插入checkbox的處理

    1. 一般處理程序

    bool gender = true;
    string html = RazorHelper.ParseRazor(context, @"~/Razordemo/Razor2.cshtml", new { Gender = gender });
    
    

    2. cshtml文件中處理checkbox的checked狀態

    <input type="checkbox" @(Model.Gender?"checked":"") />
    <!--加括號改變優先級,否則編譯器會將點Model后面的表達式當字符串處理-->

    是不是很亂?處女座不能忍。

    我們知道方法可以封裝一些重復代碼,調用方法讓cshtml頁面更簡潔。

    舉個例子:

    要在cshtml頁面插入一個checkbox。

    1. 首先封裝一個CheckBox()方法

    public static RawString CheckBox(string name, string id, bool isChecked)
    {
     StringBuilder sb = new StringBuilder();
     sb.Append("<input type='checkbox' id='").Append(id).Append("' ").Append("name='").Append(name).Append("' ");
     if (isChecked)
     {
     sb.Append("checked");
     }
     sb.Append("/>");
     return new RawString(sb.ToString());
    }
    
    

    2. 在一般處理程序中讀取和解析cshtml文件

    string html = RazorHelper.ParseRazor(context, @"~/Razordemo/Razor2.cshtml", null);
    context.Response.Write(html);
    
    

    3. 在cshtml文件中調用CheckBox()方法,將checkbox插入cshtml

    @using WebTest1.RazorDemo;<!--test1和test2所在類的命名空間-->
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <title></title>
    </head>
    <body>
     @RazorTest.CheckBox("apple","apple",true)
    </body>
    </html>
    
    

    希望本文所述對大家的asp.net程序設計有所幫助。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    asp.net模板引擎Razor調用外部方法用法實例

    asp.net模板引擎Razor調用外部方法用法實例:本文實例講述了asp.net模板引擎Razor調用外部方法用法。分享給大家供大家參考。具體如下: 首先使用Razor的步驟:讀取cshtml、解析cshtml同時指定cacheName。 而這個步驟是重復的,為了遵循DRY原則,將這段代碼封裝為一個RazorHelper()方法
    推薦度:
    標簽: 模板 實例 引擎
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 四虎4hu永久免费国产精品| 久久精品国产亚洲av瑜伽| 99久久精品九九亚洲精品| 国产午夜无码精品免费看| 久久精品欧美日韩精品| 国产精品综合专区中文字幕免费播放 | 国产精品亚洲视频| 国产乱码精品一品二品 | 久久精品男人影院| 国产精品被窝福利一区| 国产精品久久久久久久午夜片| 久久精品国产亚洲AV高清热 | 精品国产综合成人亚洲区| 久久国产乱子精品免费女| 亚洲精品无码乱码成人| 精品久久久噜噜噜久久久| 无码AⅤ精品一区二区三区| 日韩精品专区AV无码| 日本久久久精品中文字幕| 久久国产精品99国产精| 亚洲av永久无码精品秋霞电影影院| 久久精品18| 国产精品水嫩水嫩| 亚洲国产精品国自产拍AV| 无码精品第一页| 人人妻人人澡人人爽精品欧美| 亚洲AV无码成人精品区在线观看 | 精品国产亚洲一区二区在线观看| 亚洲精品456播放| 精品福利视频一区二区三区| 中日韩产精品1卡二卡三卡| 久久精品国产亚洲网站| xxx国产精品视频| 国产亚洲精品成人a v小说| 四虎精品8848ys一区二区| 久久亚洲国产精品一区二区| 999精品视频| 欧洲精品一区二区三区在线观看| 精品99久久aaa一级毛片| 惠民福利中文字幕人妻无码乱精品 | 国产精品视频永久免费播放|