Frage

Ich unterstütze eine Anwendung, die verwendet runat="server" Überall, um Tischreihen zu zeigen/zu verbergen.

Zum Beispiel wird an Orten, an denen abhängige Dropdownlisten vorhanden sind, die Zeile mit dem Kinder -DDL versteckt, bis ein in der übergeordneter DDL gewählter Wert der US -amerikanischen Wert ausgewählt wird.

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

War es hilfreich?

Lösung

ich benutze runat="server" Immer wenn ich es brauche. Ich denke, Sie können es auch verwenden. :-)

Andere Tipps

Ich denke, das ist absolut schreckliche Praxis. Zunächst müssen Sie die Reise zum Server nicht machen, um Steuerelemente zu verbergen und anzuzeigen, es sei denn, Sie benötigen neue Daten.

Zweitens können Sie in jedem anständigen JavaScript -Framework die Anzeigensteuerung basierend auf der ID des Steuerelements, des Klassennamens oder dem CSS -Selektor ausblenden. Darüber hinaus erhalten Sie mit einem JavaScript -Beitrag/einem generischen Handler die Daten, die Sie benötigen, ohne den Postback.

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

Es hängt davon ab, wie sehr Sie sich für die Leistung interessieren. Alles, was mit Runat = "Server" gekennzeichnet ist, durchläuft mehr Verarbeitung als nur Client -Side -Tags.

Persönlich habe ich sie schon einmal benutzt. Insbesondere in der Situation, in der eine Tabellenzelle oder eine Tabellenzeile auf Daten vom Server angewiesen ist. Sie können JavaScript oder JQuery mit einem versteckten Feld verwenden, müssen jedoch immer noch den Server für das versteckte Feld drücken, damit es nicht viel kauft.

Es ist nicht schlecht, Runat = "Server" mit Standard -HTML -Steuerelementen zu verwenden. Oft finden Sie die Verwendung von Platzhaltern, um Inhalte auf Seiten oder in ASP.NET -MVC anzuzeigen und auszublenden. In den Ansichten können Sie möglicherweise Inline -Codeblöcke wie < % ... %> sehen. Für sich selbst und nicht in Betracht gezogen, was andere Designaspekte berücksichtigt, ist es weder gut noch schlecht.

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

Ich denke nicht, dass es unbedingt eine schlechte Praxis ist. Ich habe das Gleiche oft getan. Ich denke, es ist hauptsächlich persönliche Präferenz.

Gar nicht. ASP.NET unterstützt es, HTML -Tag auf der Serverseite auszuführen. Ihre Alternative ist es, das Tag in a zu wickeln Panel, und verstecken oder zeigen Sie das. Wenn Sie nicht nach der zusätzlichen Funktionalität suchen oder die Ausgabe selbst steuern möchten, ist ein HTML -Tag auf dem Server kein Problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top