当前位置: 代码迷 >> ASP.NET >> @using,该怎么解决
  详细解决方案

@using,该怎么解决

热度:3948   发布时间:2013-02-25 00:00:00.0
@using
为什么要用@using?

C# code
@using (Html.BeginForm()){     <div style="width: 380px; margin: 0px auto">        <fieldset>            <legend>帐号信息</legend>            <p>                <label for="username">                    帐号:</label>                @Html.TextBox("username")                @Html.ValidationMessage("username")            </p>            <p>                <label for="password">                    密码:</label>                @Html.Password("password")                @Html.ValidationMessage("password")            </p>            <p>                @Html.CheckBox("rememberMe")                <label class="inline" for="rememberMe">                    下次自动登录(公共电脑上谨慎使用)</label>            </p>            <div class="center">                <input type="submit" value="登录(L)" accesskey="L" />            </div>            <p>@Html.ActionLink("还没有账号?立即注册", "Register")</p>        </fieldset>    </div>}


------解决方案--------------------------------------------------------
System.Web.Mvc.Html.MvcForm返回一个 System.Web.Mvc.Html.MvcForm类型的对象,而 System.Web.Mvc.Html.MvcForm实现了IDisposable接口,因此需要using 或者限时调用Dispose函数。

你的代码里既没有调用Dispose函数,也没有EndForm函数。就是因为用了using .
------解决方案--------------------------------------------------------
使用Using的目的是要调用 IDisable接口功能。

要注意,不是见到 IDisposable 接口就使用 Using。

不需要使用Using的时候使用它,只会让你的程序变得更慢。因为GC会自动在合适的时机去延迟调用IDisposeable,用不着你写Using去调用这个接口的功能。

判断何时使用Using,何时不写,要具体地知道 Dispose 方法里到底做了什么你必须当下就做的事情。如果没有,或者你不知道,就不要写 Using。因为没有必要现在就调用DIisposable接口功能。
  相关解决方案