ASP.NET MVC 七 構造HTML頁面

來源:互聯網
上載者:User

      在View頁面中,我們需要構建HTML頁面,來提交表單資料或顯示表單資料,那麼HTML這樣的頁面,我們以前直接拖用ASP:伺服器控

 

件,而現在在MVC裡又是如何來做的呢?

     

      一、那我們得需要來瞭解一下Html.BeginForm() 和 Html.TextBox() HTML 輔助方法

     

      Html.BeginForm() 輔助方法用來輸出HTML <form>元素,使用方法是:

     

      <% using (Html.BeginForm()) { %>HTML<%}%> 左括弧表示FROM開始,右括弧表示FROM結束,中間是我們FROM中要放置的內容。

    

      這一使用方法在前面使用了 using  那麼如果不想使用它的話那麼我們也可以使用Html.BeginForm() 和 Html.EndForm() 組合

     代碼執行個體:

<% Html.BeginForm(); %>HTML內容<% Html.EndForm(); %> 相應產生的頁面代碼:<form action="/Dinners/Edit/1" method="post"></form>

    

     二、有了<FORM>後,我們接下來需要說到標籤控制項,Html.TextBox() 輔助方法

        

        Edit.aspx 視圖使用Html.TextBox() 輔助方法輸出<input type="text" />元素:
<%= Html.TextBox("Title") %>

上面的Html.TextBox() 方法接收了僅僅一個參數 – 用來同時指定<input type=”text” />元素的id/name

屬性,以及填充文字框值的Model 屬性。例如,傳入的Dinner 對象的Title 屬性值為” .NET Futures”,因

Html.TextBox(“Title”)方法將輸出<input id="Title" name="Title" type="text" value=".NET Futures" />。

另外,我們也可以使用Html.TextBox() 的第一個參數來指定元素的id/name 屬性值,並顯式給第二個參

數傳遞值。
<%= Html.TextBox("Title", Model.Title)%>

如果需要對輸出結果進行格式化輸出,則可以使用.NET 內建的String.Format() 靜態方法。Edit.aspx 視圖

模板使用這一方法來對EventDate 值進行格式化(DateTime 類型),不顯示秒資訊:

格式化時間:<%= Html.TextBox("EventDate", String.Format("{0:g}", Model.EventDate)) %>

Html.TextBox() 方法的第三個選擇性參數可用來輸出額外的HTML 屬性。如下代碼顯示如何對<input type=text” />元素呈現額外的

 

size=”30”和class=”mycssclass”屬性。注意:這裡為了避免衝突C#的關鍵字Class 衝突,採用@首碼。

<%= Html.TextBox("Title", Model.Title, new { size=30, @class="myclass" } )%>

除了以上的寫法外還有:

<%=Html.TextBoxFor(m=>m.name) %>  和 直接寫標籤 <input id="username" name="username" type="text" />

上一篇:ASP.NET MVC 六 Models中使用LINQ自動產生的實體類--(提交表單) 下一篇:ASP.NET MVC 八 表單驗證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.