Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用runat=";服务器";on<;tr>;?_Asp.net_Html_Runatserver - Fatal编程技术网

Asp.net 使用runat=";服务器";on<;tr>;?

Asp.net 使用runat=";服务器";on<;tr>;?,asp.net,html,runatserver,Asp.net,Html,Runatserver,我支持一个到处使用runat=“server”来显示/隐藏表行的应用程序 例如,在存在依赖DropDownLists的位置,具有子ddl的行将被隐藏,直到父ddl中选择了值us 这是一个坏习惯吗?有更好的方法吗?我需要时随时使用runat=“server”。所以我想你也可以用它。:-) 这就是我隐藏包含其他服务器控件的行所做的。其他选项是使用asp:panel或其他容器,但这将添加更多HTML而没有任何好处。一点也不。ASP.NET支持在服务器端运行任何html标记。您可以选择将标签包装在面板中

我支持一个到处使用
runat=“server”
来显示/隐藏表行的应用程序

例如,在存在依赖DropDownLists的位置,具有子ddl的行将被隐藏,直到父ddl中选择了值us


这是一个坏习惯吗?有更好的方法吗?

我需要时随时使用
runat=“server”
。所以我想你也可以用它。:-)

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

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

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

在标准HTML控件中使用runat=“server”也不错。通常,您会发现使用占位符来显示和隐藏页面上的内容,或者在ASP.NET MVC中,您可能会看到使用内联代码块,例如在视图中。就其本身而言,不考虑其他设计方面,它既不好也不坏

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

其次,任何像样的javascript框架都允许您根据控件的id、类名或任何css选择器隐藏show控件。此外,使用javascript post/get到通用处理程序将为您提供所需的数据,而无需回发


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

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


就我个人而言,我以前用过。尤其是在表单元格或表行依赖服务器数据的情况下。可以将Javascript或JQuery与隐藏字段一起使用,但仍需点击服务器以查找隐藏字段,所以它买的东西不多。

asp:PlaceHolder是避免额外呈现HTMLI的一种方法。它在ASPX页面本身中的意思是HTML和服务器标记。由于*gasp*更新面板,它已经开始访问服务器以填充子DropDownList。