使用runat =“server”是不是很糟糕?

时间:2011-01-27 18:44:15

标签: asp.net html runatserver

我支持在整个地方使用runat="server"显示/隐藏表格行的应用程序。

例如,在存在依赖DropDownLists的地方,具有子ddl的行将被隐藏,直到我们在父ddl中选择了值。

这是一种不好的做法吗?有更好的方法吗?

7 个答案:

答案 0 :(得分:9)

我在需要时随时使用runat="server"。所以我认为你也可以使用它。 : - )

答案 1 :(得分:6)

我认为这绝对是一种糟糕的做法。首先,除非您需要新数据,否则您无需前往服务器隐藏和显示控件。

其次,任何体面的JavaScript框架都允许您根据控件的id,类名或任何css选择器隐藏show控件。此外,使用javascript post / get to a generic handler将为您提供所需的数据而无需回发。

我建议使用JQuery或其他替代方案。

答案 2 :(得分:5)

这取决于您对表现的关注程度。任何用runat =“server”标记的内容都要经过比客户端标签更多的处理。

就个人而言,我之前使用过它们。特别是在表格单元格或表格行依赖于来自服务器的数据的情况下。您可以将Javascript或JQuery与隐藏字段一起使用,但仍然需要在服务器上搜索隐藏字段,因此它不会占用太多。

答案 3 :(得分:2)

将runat =“server”与标准HTML控件一起使用并不错。通常,您会发现使用PlaceHolders来显示和隐藏页面上的内容,或者在ASP.NET MVC中,您可能会看到使用内联代码块,例如<%...%>在意见内。在它自己而不考虑其他设计方面,它既不好也不坏。

答案 4 :(得分:1)

这就是我要隐藏包含其他服务器控件的行。其他选项是使用asp:panel或其他容器,但这会增加更多的HTML而没有任何好处。

答案 5 :(得分:1)

我认为这不一定是不好的做法。我做了很多次同样的事情。我认为这主要是个人偏好。

答案 6 :(得分:0)

完全没有。 ASP.NET支持在服务器端运行任何html标记。您可以选择将标记包装在Panel中,然后隐藏或显示该标记。如果您没有寻找额外的功能或者想自己控制输出,那么在服务器上运行html标签不是问题。