無廢話MVC入門教程三[路由設置及視圖入門]


朋友炒股兩個月賺了10萬,我幫他推廣一下公眾號,把錢用來投資總比放銀行連通貨膨脹都跑不過里強硬核離職,在家炒股 ,這是他每天的日志,有些經驗是花錢也買不到的。

本文目標

1.應用全局應用程序文件配置路由規則

2.熟悉Razor語法及HtmlHelper的使用

本文目錄

1.MVC的路由設置

2.Razor的語法及使用

3.HtmlHelper的使用

1.MVC的路由設置

路由設置網上介紹的也很多了,在此也提供一篇較好的文章供大家學習。http://www.cnblogs.com/QLeelulu/archive/2008/10/03/1303612.html 

為了方便大家能夠快速的理解路由,在這里我用白話再解釋一遍:

首先看下面兩個地址:

地址一:http://localhost/index.aspx :基於傳統的WebForm,直接訪問服務器相對路徑的Index.aspx文件。

地址二:http://localhost/Home/Index :基於MVC的路徑訪問,訪問的是Controls文件夾下的HomeControl類的Index方法。

地址一很容易理解,因為有物理文件的存在。那么地址二呢?為什么Home對應的是Control的類名?Index對應的是方法名?這里就是路由映射的作用了,路由的作用就相當於把/Home/Index根據“定制的規則(如當前的Home和Control應該對應什么)”解釋給MVC框架,以便處理相應的程序文件,如我上一篇文章最后一幅圖一樣。

2.Razor的語法及使用

在Razor模板上的一種描述服務器端程序的書寫規則。
如:在MVC2或傳統WebForm程序中,我們以<%**%>來表示服務端變量。在MVC3推出后,在cshtml視圖上可以"@"作為前綴表示服務端變量。

1.基礎語法:以"@"符號+"{代碼塊}",或以"@"符號開頭。如下代碼所示:

 1 <div>
 2         @{
 3             int id = 100;
 4             var ID = 101;
 5             string Name = "大寫名稱";
 6             string name = "變量區分大小寫";
 7         }
 8     </div>
 9     <div>@id</div>
10     <div>@ID</div>
11     <div>@Name</div>
12     <div>@name</div>
13     <div>Hi@name</div>

注意:

  • 在"{代碼塊}"中的變量聲明要以";"分號結束,使用變量時無需求加";"分號。
  • "@"符號前不能有任何Html字符,否則變量將以字符串的形式原樣輸出。
  • 與C#在類中寫變量的時候一樣,Razor中也是區分大小寫的。

2.字符串拼接

1  <div>
2         字符串拼接:aa @name bb</div>
3     <div>
4         字符串拼接:Begin@{@Name}
5         End
6     </div>

注意:

  • 第一種方法不要忽略@符號前面的空格

3.文本使用

1     <div>
2         @{
3             <div>
4                 內部<br />
5                 文本一</div>
6             @:內部<br />文本二
7         }
8     </div>

4.注釋

1     <div>
2         @{
3             //注釋一,單行
4 @*
5             注釋二,多行
6             *@
7         }
8     </div>

5.循環

1    <div>
2         @{
3             for (int i = 0; i < 10; i++)
4             {
5             @:@i
6             }
7         }
8     </div>

6.特殊符號

 1     <div>
 2         @{
 3             var Password = @"""123456!@#$%^\""";
 4         }
 5     </div>
 6     <div>
 7         @Password
 8     </div>
 9     <div>
10         @@</div>

注意:

  • 輸出雙引號時,前面要多加一個雙引號轉義

7.整體運行效果:

3.HtmlHelper的使用

相當於傳統WebForm中的服務器端控件,可以生成Html標簽,但語法更簡潔。以下內容只是對HtmlHelper有個簡單的認識,在實際開發過程中會與強類型Model進行綁定,在后面的文章中會有詳細的介紹。

1.Html.TextBox

1 //服務端寫法
2 @Html.TextBox("txtUserName")
3 //客戶端生成
4 <input id="txtUserName" name="txtUserName" type="text" value="" />

2.Html.Password

1 //服務端寫法
2 @Html.Password("txtPassword")
3 //客戶端生成
4 <input id="txtPassword" name="txtPassword" type="password" />

3.Html.Label

1 //服務端寫法
2 @Html.Label("txtUserName", "顯示值")
3 //客戶端生成
4 <label for="txtUserName">顯示值</label>

4.Html.DropDownList

 1 //服務端寫法     
 2  @{
 3         //下拉列表的值
 4         List<SelectListItem> selectList = new List<SelectListItem>();
 5         selectList.Add(new SelectListItem { Value = "1", Text = "列表項一" });
 6         selectList.Add(new SelectListItem { Value = "2", Text = "列表項二" });
 7     }
 8     @Html.DropDownList("ddlList", (SelectList)new SelectList(selectList.AsEnumerable(), "Value", "Text")) 
 9 //客戶端生成
10 <select id="ddlList" name="ddlList"><option value="1">列表項一</option>
11 <option value="2">列表項二</option>
12 </select>

5.Html.RadioButton

1 //服務端寫法
2 @Html.RadioButton("rdo", "")
3 //客戶端生成
4 <input id="rdo" name="rdo" type="radio" value="" />

 6.Html.CheckBox

1 //服務端寫法
2 @Html.CheckBox("chk")
3 //客戶端生成
4 <input id="chk" name="chk" type="checkbox" value="true" /><input name="chk" type="hidden" value="false" />

7.Html.ActionLink

//服務端寫法
@Html.ActionLink("鏈接首頁", "Login")
//客戶端生成
<a href="/User/Login">鏈接首頁</a>

8.整體運行效果

由於方法太多這里只對基礎的做簡單介紹,具體用到時請查閱MSDN:
http://msdn.microsoft.com/zh-cn/library/system.web.mvc.html

版權:http://www.cnblogs.com/iamlilinfeng


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM