<th id="v9g6b"><track id="v9g6b"></track></th>

  • <em id="v9g6b"><acronym id="v9g6b"></acronym></em>
    <progress id="v9g6b"><pre id="v9g6b"></pre></progress>
    <tbody id="v9g6b"></tbody>
    <button id="v9g6b"><acronym id="v9g6b"></acronym></button>
    <rp id="v9g6b"><ruby id="v9g6b"></ruby></rp>

        <dd id="v9g6b"></dd>

        <em id="v9g6b"></em>

          @Html扩展控件在渲染时控件属性值都没有加载怎么办?

          .net MVC提供的html控件扩展方法功能很强大,小编一直很喜欢,Web开发框架中也一直使用,但是最近小编做项目时出现一个怪异的问题和大家分享一下。
          现象
          定位
          解决
          现象

          乱像
          如图所示,几个文本框完全是乱的,并且点击登录按钮也没有效果。
          贴上我们源码中电子邮箱文本框的代码:

              <div class="form-group row">
                  <div class="col-md-3">
                      @Html.LabelFor(m => m.Email, new { @class = "control-label" }, ":")
                  </div>
                  <div class="col-md-9">
                      @Html.TextBoxFor(m => m.Email, new { @class = "email form-control", autofocus = "autofocus" })
                  </div>
                  @Html.ValidationMessageFor(m => m.Email)
              </div>
          定位

          分析上述源码是没有问题的,我们F12看下生成的页面代码,如下: 页面代码
          发现生成的input标签的属性值全为空!!!这是为什么呢?
          可能是MVC渲染页面的时候出错,我们更新了Microsoft.AspNet.Mvc.5.2.2、Microsoft.AspNet.WebPages.3.2.2和Microsoft.AspNet.Razor.3.2.2,还是一样的错误,说明不是dll问题。
          也可能是我们代码中写了不该写的代码,比如html文本编码出现问题。如下代码段,会引发在mvc渲染好页面后,对html标签属性值置空的操作。

              public class HtmlAttributeNoEncoding : System.Web.Util.HttpEncoder
              {
                  protected override void HtmlAttributeEncode(string value, System.IO.TextWriter output) 
                  { 
                      StringBuilder sb = new StringBuilder(); 
                      StringWriter sw = new StringWriter(sb); 
                      base.HtmlAttributeEncode(value, sw); 
                  }
               }
          解决
          在web.config中 <httpruntime targetframework="4.5.1" encodertype="Nop.Web.Extensions.HtmlAttributeNoEncoding" / >,去掉该编码类型,就可以了。 去掉encodertype代码后,结果如图:

          网站&系统开发技术学习交流群:463167176

          本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
          转载请注明:文章转载自:华晨软件-云微开发平台 ? @Html扩展控件在渲染时控件属性值都没有加载怎么办?
          本文标题:@Html扩展控件在渲染时控件属性值都没有加载怎么办?
          本文地址:http://www.sajuice.com/QAPrefecture/0013.html

          相关文章: web框架UI系列--MVC常用控件讲解

          电话
          电话 18718672256

          扫一扫
          二维码
          本港台开奖 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>