我试图在我的 ASP.NET 用户控件 .ascx 文件中使用嵌入的代码块来尝试从控件的公共属性设置控件的宽度和高度。过去我已经能够在不同的项目上做到这一点,但由于某种原因,它现在不起作用。如果我愿意,我可以在后面的代码中执行此操作,但是为什么不评估代码块?我注意到当我不在标签中包含 runat="server" 时,它们会被评估。
.ascx 代码:
div id="PopupWindow" class="ModalWindow"
style="width: <%= Width.ToString() %>; height: <%= Height.ToString() %>;" runat="server" ></div>
检查器中的 css 错误:
element {
width: <% Width.ToString() %>;
height: <% Height.ToString() %>;
}
从.NET Framework 中的 ASP.NET 内联表达式简介:
请记住,不能在服务器控件的属性中使用显示表达式。这是因为 .NET Framework 直接编译整个表达式,而不是将显示内容作为属性的值。
如果您也将服务器控件(使用 创建的元素runat="server"
)视为一种嵌入式代码块,这可能会有所帮助。那么里面的任何代码块都将是嵌套的服务器端代码,这是行不通的!
因此,正如您已经提到的,可能的解决方案是删除runat="server"
或处理服务器上的内容并从那里放入大小。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句