1. 程式人生 > 實用技巧 >Razor檢視引擎

Razor檢視引擎

ASP中<% %>=@

語法規則

Razor 程式碼封裝於 @{ ... } 中

行內表示式(變數和函式)以 @ 開頭

程式碼語句以分號結尾

字串由引號包圍

C# 程式碼對大小寫敏感

C# 檔案的副檔名是 .cshtml

@{ var name = "Word!!!!";}
@for (int i = 0; i < 3; i++)
{
<h1>Hello @name</h1>
}
@if (true)
{
<h1>Hello @name</h1>
}

Public ActionResult Loop()
{
//ViewBag是動態型別 ViewBag.Loop=new List<string>{"張三","李四","王五"}; return View(); }


例子
public ActionResult Index()
{
TestObjectService();

using (RazorDemo.Models.MySchoolEntities entities = new Models.MySchoolEntities())
{
return View(entities.Students.ToList());
}
return View();

}

public ActionResult Test()
{
return View();
}

public void TestEntityClient()
{
using (EntityConnection conn = new EntityConnection("name=MySchoolEntities"))
{
conn.Open();
EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"SELECT VALUE c FROM MySchoolEntities.Students AS c WHERE c.StudentNo = 23214";
EntityDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
while (rdr.Read())
Console.WriteLine(rdr[2].ToString());
rdr.Close();
}

}


public void TestObjectService()
{
using (ObjectContext context = new ObjectContext(("name=MySchoolEntities")))
{
string eSql = "SELECT VALUE c FROM MySchoolEntities.Students AS c";
ObjectQuery<Student> query = context.CreateQuery<Student>(eSql);
foreach (Student stu in query.ToList())
{
Console.WriteLine(stu.StudentName);//輸出學生姓名
}
}
}
前臺:
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.StudentNo)
</td>

<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}