Ist es schlecht, runat="server" auf tr zu verwenden?

7

Ich unterstütze eine Anwendung, die runat="server" überall zum Anzeigen / Ausblenden von Tabellenzeilen verwendet.

An Stellen, an denen abhängige DropDownLists vorhanden sind, wird beispielsweise die Zeile mit dem untergeordneten ddl ausgeblendet, bis ein Wert im übergeordneten ddl ausgewählt wird.

Ist das eine schlechte Übung? Gibt es einen besseren Weg, dies zu tun?

    
Homer 27.01.2011, 18:44
quelle

7 Antworten

9

Ich verwende runat="server" , wann immer ich es brauche. Also ich denke du kannst es auch benutzen. : -)

    
Al Kepp 27.01.2011, 18:47
quelle
6

Ich denke, das ist absolut furchtbar. Zuallererst müssen Sie die Reise zum Server nicht machen, um Steuerelemente ein- und auszublenden, es sei denn, Sie benötigen neue Daten.

Zweitens können Sie mit jedem anständigen Javascript-Framework Show-Steuerelemente ausblenden, die auf der ID des Steuerelements, dem Klassennamen oder einem anderen CSS-Selektor basieren. Darüber hinaus erhalten Sie mit einem Javascript Post / Get zu einem generischen Handler die Daten, die Sie ohne das Postback benötigen.

Ich würde vorschlagen, JQuery oder eine andere Alternative zu verwenden.

    
bleepzter 27.01.2011 18:52
quelle
5

Es hängt davon ab, wie viel Wert auf Leistung gelegt wird. Alles, was mit runat="server" markiert ist, wird mehr verarbeitet als nur clientseitige Tags.

Ich persönlich habe sie schon einmal benutzt. Insbesondere in Situationen, in denen eine Tabellenzelle oder Tabellenzeile auf Daten vom Server angewiesen ist. Sie können Javascript oder JQuery mit einem versteckten Feld verwenden, aber Sie müssen immer noch den Server für das versteckte Feld treffen, so dass es nicht viel kauft.

    
Josh 27.01.2011 18:52
quelle
2

Es ist nicht schlecht, runat="server" mit Standard-HTML-Steuerelementen zu verwenden. Häufig finden Sie die Verwendung von PlaceHolders zum Ein- und Ausblenden von Inhalten auf Seiten oder in ASP.NET MVC sehen Sie möglicherweise die Verwendung von Inline-Codeblöcken wie & lt;% ...% & gt; in den Ansichten. Für sich selbst und nicht für andere Designaspekte ist es weder gut noch schlecht.

    
Shan Plourde 27.01.2011 18:48
quelle
1

Das mache ich, um die Zeile mit anderen Serversteuerelementen zu verbergen. Die anderen Optionen sind die Verwendung eines Asp: Panels oder eines anderen Containers, aber das fügt mehr HTML ohne Gewinn hinzu.

    
David 27.01.2011 18:47
quelle
1

Ich glaube nicht, dass es eine schlechte Übung ist. Ich habe das selbe schon oft gemacht. Ich denke, es ist vor allem persönliche Vorliebe.

    
codykrieger 27.01.2011 18:48
quelle
0

Überhaupt nicht. ASP.NET unterstützt die Ausführung von HTML-Tags auf der Serverseite. Ihre Alternative besteht darin, das Tag in ein Panel einzubinden und das auszublenden oder anzuzeigen. Wenn Sie nicht nach zusätzlichen Funktionen suchen oder die Ausgabe selbst steuern möchten, ist das Erstellen eines HTML-Tags auf dem Server kein Problem.

    
Kyle Trauberman 27.01.2011 18:47
quelle

Tags und Links