MVC中HTML表单操作

Html.BeginForm() 辅助方法
Html.BeginForm() 辅助方法用来输出HTML <form>元素。在Edit.aspx 视图模板中,你会发现我们使用了
C#的using 语句。左括号{ 表示开始<form>元素,右括号 } 表示结束</form> 元素:
<% using (Html.BeginForm()) { %>
<fieldset>
<!-- Fields Omitted for Brevity -->
<p>
<input type="submit" value="Save"/>
</p>
</fieldset>
<% } %>
如果你认为使用using 语句并不直观,你也可以使用Html.BeginForm() 和 Html.EndForm() 组合,示例代
码如下:
<% Html.BeginForm(); %>
<fieldset>
<!-- Fields Omitted for Brevity -->
<p>
<input type="submit" value="Save"/>
</p>
</fieldset>
<% Html.EndForm(); %>
调用不传参数的Html.BeginForm() 方法将输出一个form 元素,和HTTP-POST 方法和当前请求的URL 地
址,这就是为什么Edit 视图生成如下 <form action="/Dinners/Edit/1" method="post"> 元素。当然,如果
需要提交到不同的URL 地址,我们可以传入显式的参数给Html.BeginForm() 方法。

 

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" } )%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值