如果函数可以将html元素放在aspx中吗?

时间:2015-01-29 06:38:19

标签: asp.net

是否有可能将元素放入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:为什么我要这样做是因为我认为如果我不想显示元素,最好不要创建元素而不是创建和隐藏它,它是否正确?

3 个答案:

答案 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隐藏它。然后在客户端,您可以将其显示出来。

相关问题