为什么我们需要在Html.BeginForm中使用@using

梅迪(Mehdi Souregi)

有人可以向我解释为什么我们需要使用

@using (Html.BeginForm("CheckUser", "Home", FormMethod.Post))

代替 :

@Html.BeginForm("CheckUser", "Home", FormMethod.Post)

据我所知,这里@use的主要目的是什么,我只使用'using'关键字来确保对象在超出范围后立即被处置。我有点困惑。

我问这个问题是因为@ Html.BeginForm在呈现表单内容之前会输出一个文本:“ System.Web.Mvc.Html.MvcForm {”。通过使用“ using”关键字,不会显示此文本。

编辑:这是我的代码,呈现“ System.Web.Mvc.Html.MvcForm ...”

@Html.BeginForm("CheckUser", "Home", FormMethod.Post)
    <label for="username">Username :</label>
    <input type="text" name="username" id="username" placeholder="username"/>

    <label for="password">Password :</label>
    <input type="password" name="password" id="password" placeholder="password"/>

    <input type="submit" value="Submit" />
@{Html.EndForm();}
KD

通过使用 @using (Html.BeginForm("CheckUser", "Home", FormMethod.Post))

它会自动添加</form>到您的页面中。您无需担心关闭表单标签,如果有人忘记关闭表单,它可以防止意外问题。

@*<form>*@
    @using (Html.BeginForm("CheckUser", "Home", FormMethod.Post)) 
    {

    }@* </form> gets added automaticaly*@ 

如果要使用Html.EndForm(),请按以下方式使用它

@{Html.BeginForm("CheckUser", "Home", FormMethod.Post);}
//other form elements
@{Html.EndForm();}

原因:Html.EndForm()不返回任何内容(return type void),而是将其写入流中。如果您不使用{},则@symbol将期望以下语句返回某些内容,因此它将使用将object.ToString()其结果System.Web.Mvc.Html.MvcForm

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我们需要在C ++头文件中使用“ #if defined Identifier”?

为什么我们需要在图灵的暂停证明中使用否定部分?

为什么我们需要在Java中使用移位运算符?

为什么我们需要在Inno Setup中使用#expr指令?

为什么我们需要在IOS中使用类别?

为什么我们需要在 ReactJs 中使用 web-pack?

为什么我们需要在 Spring 中使用注解?

为什么我们需要在并发 GC 跟踪中使用 SATB 算法?

为什么我们需要在两个选择中使用 () 和?

为什么我们需要在 Spring Data JPA 中使用 @Transactional 注释 Service 类

什么时候以及为什么我们需要在bash上使用“ wait”命令?

为什么我们需要在应用加载时使用 BeginInvokeOnMainThread 来显示 DisplayAlert

为什么我们需要在Java中对ArrayList使用迭代器?

在 Spark Window 函数中,为什么我们需要在最后使用 drop()

为什么我们需要在“简单声明”中使用下面的第二个定义?

为什么我们需要在Angular中使用“ $ event”关键字进行事件绑定?(用于输出)

对于Python 3.8中的赋值表达式,为什么我们需要在with中使用as?

Android:为什么我们需要在黄油刀上使用R2而不是R?

为什么我们需要在 C++20 中的函数概念参数之后使用 auto?

为什么我们需要在使用打字稿选择元素之前添加元素参数

为什么在使用 fgets() 时,我们需要在声明时删除字符串 -1 ?

我们什么时候需要在git中使用--track命令

我们什么时候需要在Form Recognizer标签工具中使用“撰写”选项?

为什么我们需要使用标记接口?

为什么我们需要使用flatMap?

为什么我们需要使用基数?

我们在哪里使用 BitSet,为什么要在 Java 中使用它?

为什么我们要在 useIsMounted 钩子中使用回调来从钩子中返回 ref?

为什么我们需要在另一个队列上使用dispatch_sync()而不是在iOS GCD中使用当前队列/线程