是否有可能将元素放入ASP.NET中的函数,就像在ASP.NET MVC Razor视图中一样? 也许是这样的:
<% if (Visible)
{
<div>I want to determine here</div>
} %>
但这会显示错误...我知道可以通过使用javascript或div与codebehind来解决:
<div style="<%=isNotGame? "display:none":"display:block" %>"></div>
或:
<div runat="server" id="codeBehind"></div>
CodeBehind.InnerHTML="...";
Q1:有可能吗?如果是,怎么样?
Q2:为什么我要这样做是因为我认为如果我不想显示元素,最好不要创建元素而不是创建和隐藏它,它是否正确?答案 0 :(得分:1)
是的,有可能,试试这个。
<%
if (Visible)
{
%>
<div>I want to determine here</div>
<%
}
%>
第二个问题,在我看来,如果你不需要它,那么没有理由占用资源。请记住,这是通过电线传输的所有数据。根据您创建的浪费元素的数量,它可以快速累加,并且根据您的操作,它可能会产生许多不利影响。许多人为移动设备上的数据付费。搜索引擎可能会因您从未发送的大量数据而导致性能损失。
答案 1 :(得分:0)
正如您的原始问题所说的剃刀语法一样,可以将其作为 -
@if (Visible) {
<div>I want to determine here</div>
}
如果您想了解有关剃刀语法的更多信息,请Check this
回答你的问题2很棘手。你可以渲染你想要的任何元素并在后面的代码中做出决定,但是如果你想根据你的场景的特定条件来切换一些元素,那么最好通过Javascript执行它,就像切换请求服务器为客户端做这样做是不好的方法。
答案 2 :(得分:0)
根据您的条件
,可以在剃须刀视图中生成HTML@if(condition){
<div>show this div</div>
}
关于Question2,不要渲染不必要的东西。但是如果您需要根据用户操作使HTML可见,那么渲染HTML,使用CSS隐藏它。然后在客户端,您可以将其显示出来。