首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

@using,该怎么解决

2012-10-16 
@using为什么要用@using?C# code@using (Html.BeginForm()){div stylewidth: 380px margin: 0px auto

@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接口功能。

热点排行