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?
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.
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.
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.
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.
Ü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.
Tags und Links html asp.net runatserver