Razor檢視引擎
阿新 • • 發佈:2020-10-07
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>
}