代码改变世界

在MVC3里如何关闭Form标签

2011-09-17 11:27  随风浪迹天涯  阅读(660)  评论(0编辑  收藏  举报

最近,在开始学习MVC 3了,说实在话的,这其中遇到问题可真的不少,木有办法,遇到问题也只能一个一个的慢慢的去克服了。

今天,表单练习,在关闭的时候,遇到有点麻烦。

我一开始是这么写的我的闭合Form表单的:

@Html.BeginForm("Checkbox", "Home")
<fieldset>
    <legend>登陆框</legend><span>用户名:</span>
    @Html.TextBox("Username")<br />
    <span>密码</span>
    @Html.Password("Password")
    <br />
    <br />
    <input type="submit" value="提交" />
</fieldset>
@Html.EndForm()

可是上面标颜色那行,不正确,下面提示的错误是:“错误 1 无法将类型“void”隐式转换为“object” c:\Users\lando\Documents\Visual Studio 2010\Projects\MvcApplication1\MessageBoard\Views\Home\Saturday.cshtml 16 2 MessageBoard

说真的,我不知道上面说什么,后来我一想 那能不能用MVC2中的using呢?(刚好前些天看了一些MVC2有关的资料)

于是,就改成这样:

@using (Html.BeginForm("Checkbox", "Home"))
{
    <fieldset>
        <legend>登陆框</legend><span>用户名:</span>
        @Html.TextBox("Username")<br />
        <span>密码</span>
        @Html.Password("Password")
        <br />
        <br />
        <input type="submit" value="提交" />
    </fieldset>
}

OK。成功闭合。

后来,和一个群里聊天和网友讨论的时候,突然说起这个问题,后来他还说了一个,就是不用using ,直接在闭合的form上加入:

 

 1 @{Html.BeginForm("Checkbox", "Home");}
2 <fieldset>
3 <legend>字体设置</legend>
4 @Html.CheckBox("Checkbox", true, new { id = "Checkbox1" })
5 <span for="Checkbox1">黑体</span>
6 @Html.CheckBox("MyCheckBox2", false, new { id = "Checkbox2" })
7 <span for="Checkbox2">宋体</span>
8 <input type="submit" value="提交" />
9 </fieldset>
10 @{Html.EndForm();}

 这样子就可以了。

在刚刚的时候,我曾经用下面的方法来实现,可是很遗憾,虽然没有报错,可还是没能关闭。

@Html.BeginForm("Checkbox", "Home")
<fieldset>
    <legend>登陆框</legend><span>用户名:</span>
    @Html.TextBox("Username")<br />
    <span>密码</span>
    @Html.Password("Password")
    <br />
    <br />
    <input type="submit" value="提交" />
</fieldset>
@{Html.EndForm();}