一个奇怪的页面错位
这是正确的写法:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<asp:TextBox ID="txtCostOrProject" contenteditable="false" CssClass="text" runat="server"></asp:TextBox>
<!-- 成本中心选择 -->
<div id="divCost" runat="server" style="display:inline;">
<input id="btnCostCenter" style="display:none;" title="选择成本中心" type="button" onclick="selCostCenterFullName('CostCenterHdf','txtCostOrProject',{GongsiId:'<%=strCompanyID %>'});" class="btMiniAddSch" />
<asp:HiddenField ID="CostCenterHdf" runat="server" />
</div>
<!-- 成本中心选择 -->
<div id="divCost" runat="server" style="display:inline;">
<input id="btnCostCenter" style="display:none;" title="选择成本中心" type="button" onclick="selCostCenterFullName('CostCenterHdf','txtCostOrProject',{GongsiId:'<%=strCompanyID %>'});" class="btMiniAddSch" />
<asp:HiddenField ID="CostCenterHdf" runat="server" />
</div>
在一个 html 标签中,如果用了 runat="server" 那么,后面有 <%= %> 为了得到后台获取的某个值,这样的写法,asp.net 将解析出 %lt= , 如果去掉 runat = server, 那么可以正常解析。
如果这个外层的 div 不加 runat="server", 那么还是会错位,使页面布局混乱。不知道什么原因。
走向地狱的途中,不小心走了程序员这条路,路上一个个黑心的老板,和暗无天日的加班,我才发现,通往地狱的路径中,我们这行是最短的。