ASP webforms应用程序中缺少aspnethidden CSS类

时间:2016-10-20 10:15:28

标签: asp.net .net webforms

这可能很简单,但我无法找到有关它的信息。

为什么我的开发环境中的隐藏表单字段中的div缺少aspnethidden CSS类而不是生产环境?它看起来像这样:

<div>
    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="..." />
    <input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="..." />
</div>

而不是:

<div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="..." />
    <input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="..." />
</div>

服务器和我的开发机器在.NET Framework 4.6.1上运行,IIS配置为在应用程序池中使用.NET CLR 4.0。

我只是想知道为什么我的Windows 10 Dev机器上缺少这个。

1 个答案:

答案 0 :(得分:1)

您正在观察的是一个新功能。它是关于ASP.Net 4.0中的隐藏字段。

您可能可能知道ASP.Net使用隐藏字段作为状态控制机制。它用于保留ViewstateControl state

它们通常包含在div元素中,<div></div>

我在 VS2010 .Net 3.5

中创建了一个示例asp.net应用程序

当我看到我的观点来源时,我能够看到类似这样的内容

<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/rxyklmnLTQ0NTA1Mstupvmjk8I5q9vNjFXLeK/1IBsUwBM=" />
</div>

当您在外部css文件中对div元素应用任何css规则时,那些适用于代码中所有div元素的规则将适用于围绕处理viewstate的隐藏字段元素的<div>

使用 Asp.net 4.0创建应用程序将使用CSS附近的div类进行呈现

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

根据我的研究,这里有一些将详细阐述的原因

  1. how-to-handle-the-div-tag-around-asp.net-hidden-inputs.aspx
  2. ASP-NET-SEO-around-VIEWSTATE
  3. hidden div elements in asp.net 4.0
  4. <强>更新

    在您的开发计算机中,您可能已设置

    controlRenderingCompatibilityVersion="3.5" 
    

    因此,您无法在开发计算机中看到该类aspNetHidden,因为该功能是在 Asp.net 4.0

    中引入的