ASP.NET MVC 七 构造HTML页面

来源:互联网 发布:淘宝网站发展历程 编辑:程序博客网 时间:2024/05/18 01:12

      在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 八 表单验证

原创粉丝点击