【问题标题】:Why is the renderAllHiddenFieldsAtTopOfForm configuration setting ignored?为什么会忽略 renderAllHiddenFieldsAtTopOfForm 配置设置?
【发布时间】:2015-03-16 15:59:52
【问题描述】:

我遇到了与这个问题的海报完全相反的问题: Why isn't "renderAllHiddenFieldsAtTopOfForm" not working?

我已将 renderAllHiddenFieldsAtTopOfForm 明确设置为 true:

<system.web>
    <pages renderAllHiddenFieldsAtTopOfForm="true" />
</system.web>

尽管如此,渲染的输出包含两个不同的部分,其中包含系统生成的隐藏字段:一个在顶部,一个在表单底部:

<div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE4NDI1MTc3MzRkZI7H1ncHbGpdCuTIWztffomjhuKqOlUg2/NLTSuTAcPt" />
</div>

<div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="C2EE9ABB" />
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAATsr4X0euI6bC1nyD5GTh1SVvvE46VZo4PgfZC+nBCfTprQreIcKZCPCAR/ghE+h144RSSJ+WpNEsH2OOfrgDPYSZR3/cXf22QHuxsfDnv9/WdF+DPQdHKniJorPN8Mw6c=" />
</div>

谁能解释为什么会这样?

相关:这是一个在 IIS 7 下运行的 ASP.NET 4.5 应用程序,用 Visual Studio 2013 构建的 VB.NET 编写。这种行为可以在每个页面上观察到,无论我删除 renderAllHiddenFieldsAtTopOfForm 设置还是不是,或者如果我将其值设置为truefalse

【问题讨论】:

    标签: asp.net vb.net web-config


    【解决方案1】:

    根据Reference Source,renderAllHiddenFieldsAtTopOfForm 属性仅在 InnerWriter 为 HttpWriter 时才有效。

    你能检查一下你是否给 Render 方法提供了不同的作者吗?

    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
        base.Render(new MyHtmlTextWriter()); // <<<----
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 2017-02-11
      • 2015-08-31
      • 2016-04-04
      相关资源
      最近更新 更多