首页 / 网页编程 / ASP.NET / 使用自定义ViewHelper来简化Asp.net MVC view的开发 - part4
        
            使用自定义ViewHelper来简化Asp.net MVC view的开发 - part42011-08-06 博客园 译:CareySon接上篇,我们下面通过HtmlFiledSet helper来展示何时使用EndView():如果你用Asp.net已经有一段时间了,那使用Html.BeginForm helper来创建HTML form标签的方式会让 你觉得有点怪.当你创建一个新的Asp.net mvc项目后,在View里的ChangePassword.aspx会默认被创建, 这个页面使用了Html.BeginForm helper,下面是使用这个helper的代码段:<% using (Html.BeginForm()) { %>
   <div>
     <fieldset>
       <legend>Account Information</legend>
       <p>
         <label for="currentPassword">Current password:</label>
         <%= Html.Password("currentPassword") %>
         <%= Html.ValidationMessage("currentPassword") %>
       </p>
       <p>
         <label for="newPassword">New password:</label>
         <%= Html.Password("newPassword") %>
         <%= Html.ValidationMessage("newPassword") %>
       </p>
       <p>         <label for="confirmPassword">Confirm new  password:</label>
         <%= Html.Password("confirmPassword") %>
         <%= Html.ValidationMessage("confirmPassword") %>
       </p>
       <p>
         <input type="submit" value="Change Password" />
       </p>
     </fieldset>
   </div>
<% } %>上面代码中你会发现Html.BeginForm的使用和<%=Html.Password(“currentPassword”) %>的 使用不尽相同,也就是Html.BeginForm在using语句中被调用,这点很有意思,让我先来看看上面代码段生 成后的Html,如下:<form  
  action="/Account/LogOn?ReturnUrl=%2fAccount%2fChangePassword"
  method="post">
  <div>
   <fieldset>
    <legend>Account Information</legend>
    <p>
     <label for="username">Username:</label>
     <input id="username" name="username" type="text" value="" />
    </p>
    <p>
     <label for="password">Password:</label>
     <input id="password" name="password" type="password" />
    </p>
    <p>
     <input id="rememberMe" name="rememberMe" type="checkbox" value="true" />
     <input name="rememberMe" type="hidden" value="false" />
     <label class="inline" for="rememberMe">Remember me?</label>
    </p>
    <p>
     <input type="submit" value="Log On" />
    </p>
   </fieldset>
  </div>
</form>