国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

asp.net模板引擎Razor調(diào)用外部方法用法實(shí)例

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:38:31
文檔

asp.net模板引擎Razor調(diào)用外部方法用法實(shí)例

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

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

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

而這個(gè)步驟是重復(fù)的,為了遵循DRY原則,將這段代碼封裝為一個(gè)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調(diào)用外部方法

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. 在一般處理程序中調(diào)用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文件中調(diào)用方法呢?

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

1. 一般處理程序

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

2. cshtml文件中處理checkbox的checked狀態(tài)

<input type="checkbox" @(Model.Gender?"checked":"") />
<!--加括號(hào)改變優(yōu)先級(jí),否則編譯器會(huì)將點(diǎn)Model后面的表達(dá)式當(dāng)字符串處理-->

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

我們知道方法可以封裝一些重復(fù)代碼,調(diào)用方法讓cshtml頁(yè)面更簡(jiǎn)潔。

舉個(gè)例子:

要在cshtml頁(yè)面插入一個(gè)checkbox。

1. 首先封裝一個(gè)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文件中調(diào)用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>

希望本文所述對(duì)大家的asp.net程序設(shè)計(jì)有所幫助。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

asp.net模板引擎Razor調(diào)用外部方法用法實(shí)例

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

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日本久久精品免视看国产成人 | 91亚洲 欧美 国产 制服 动漫 | 精品一区二区三区免费毛片爱 | 国产精品激情综合久久 | 国产欧美在线观看视频 | 岛国一区二区 | 国产一区二区三区久久精品 | 国产91精品一区二区麻豆亚洲 | 91午夜精品亚洲一区二区三区 | 亚洲欧美在线综合 | 日本欧美国产精品第一页久久 | 亚洲欧美另类自拍 | 欧洲日韩视频二区在线 | 久久er99热精品一区二区 | 国产第一页在线观看 | 伊人久久精品一区二区三区 | 国产日产高清欧美一区二区三区 | 亚洲国产精品成人综合久久久 | 日韩一区二区久久久久久 | 国产精品国产三级国产a | 日韩免费在线观看视频 | 精品国产一区二区三区19 | 国语视频 | 欧美日韩免费看 | 九九九国产 | 亚洲第8页 | 欧美日韩一区二区在线观看 | 国产在线精品一区二区夜色 | 国产h片在线观看 | 最刺激黄a大片免费观看 | 亚洲视频在线观 | 手机精品在线 | 国产成人久久精品二区三区牛 | 国产精品资源在线播放 | 69天堂网在线视频精品 | 国产日本精品 | 亚洲日韩欧美综合 | 亚洲国产成人精品久久 | 亚洲十欧美十日韩十国产 | 欧日韩视频 | 99久久精品费精品国产一区二区 |