Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] Wie kann ich 'if' Orgien im ASP Teil vermeiden?
Sieben
myCSharp.de - Member

Avatar #avatar-2263.png


Dabei seit:
Beiträge: 134
Herkunft: Coburg

Themenstarter:

[gelöst] Wie kann ich 'if' Orgien im ASP Teil vermeiden?

beantworten | zitieren | melden

Hi,

ich habe eine Seite, die je nach einer bestimmten Bedingung unterschiedliches Html ausgeben soll. Mir fällt da momentan nur diese Lösung ein, die ich aber doof finde, da es jetzt Logik im Htmlteil gibt. Kann man das ganze irgendwie anders lösen?

<%@ Page Language="C#" MasterPageFile="~/Html/VxBet.Master" AutoEventWireup="true" CodeBehind="Tipp.aspx.cs" Inherits="VxBet.Html.Tipp" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<%
if ( bedingung )
{
  %>
  Erste Ausgabe mit Html
  <%
}
else
{
  if ( bedingung 2 )
  {
    %>
    Zweite Ausgabe mit Html
    <%
  }
  else
  {
    %>
    Dritte Ausgabe mit Html
   <%
  }
}
%>

gruß Sieben
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Sieben am .
Nur die Kogge schwimmt!
private Nachricht | Beiträge des Benutzers
ben
myCSharp.de - Member



Dabei seit:
Beiträge: 200
Herkunft: Schweiz

beantworten | zitieren | melden

Hallo,

natürlich kann (/sollte) man das anders lösen...
Hau einfach drei <div id="ErsteAusgabe" runat="server" ...> usw... rein. Danach kannst du diese konfortabel in der CodeBehind ansprechen und ensprechend die Visible Eigenschaft setzten.


gruess
private Nachricht | Beiträge des Benutzers
Sieben
myCSharp.de - Member

Avatar #avatar-2263.png


Dabei seit:
Beiträge: 134
Herkunft: Coburg

Themenstarter:

beantworten | zitieren | melden

Hm... ist dann "ErsteAusgabe" eine Methode in der Klasse? Dann muss ich in dieser Methode Htmlcode mit "Response.Write" schreiben, oder?
Nur die Kogge schwimmt!
private Nachricht | Beiträge des Benutzers
ben
myCSharp.de - Member



Dabei seit:
Beiträge: 200
Herkunft: Schweiz

beantworten | zitieren | melden

Hallo,
Zitat von Sieben
Hm... ist dann "ErsteAusgabe" eine Methode in der Klasse?
Das sind Grundlagen von ASP.NET. ErsteAusgabe ist keine Methode sondern ein Feld vom Type HtmlGenericControl

<div id="ErsteAusgabe" runat="server" Visible="false">
Erste Ausgabe mit Html
</div>

<div id="ZweiteAusgabe" runat="server" Visible="false">
Zweite Ausgabe mit Html
</div>

usw....


{
  if (...)
    ErsteAusgabe.Visible = true;
  else
    ZweiteAusgabe.Visible = true;
}

ASP.NET und Classic ASP lässt sich nur schlecht vergleichen, daher musst du hier komplett umschalten...


Grz
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo Sieben

Response.Write solltest du nicht mehr verwenden, siehe:
- http://www.aspnetzone.de/blogs/peterbucher/archive/2008/02/04/die-alten-bekannten-response-write-und-request-form.aspx

Genau so Code im deklerativen Code, weg damit.
Du kannst alles ins Codebehind auslagern.


Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Sieben
myCSharp.de - Member

Avatar #avatar-2263.png


Dabei seit:
Beiträge: 134
Herkunft: Coburg

Themenstarter:

beantworten | zitieren | melden

Boah jetzt habi des verstanden, des is ja geil :D

Ich schreib im Aspteil 'div' Elemente mit 'Runat=Server' und er generiert mir im Hintergrund ein 'HtmlGenericControl' was ich dann in der abgeleiteten Page Klasse als Member ansprechen kann und dort die Eigenschaften verändern kann.

So funktionieren dann wohl alle Asp-Controls. Dat find ich super, ich dacht schon ich müsst den Response-Kram schreiben ;)

Joa mir fehlen da wohl wirklich ein paar Basics, hab bisher leider keine gute Einführung in ASP.net gefunden :(

Trotzdem noch mal vielen Dank für die Aufschlussreichen Antworten :)

gruß Sieben
Nur die Kogge schwimmt!
private Nachricht | Beiträge des Benutzers
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

beantworten | zitieren | melden

Hi!

Die Quickstart-Tutorials sollten fürs erste ausreichend sein.

http://quickstarts.asp.net/QuickStartv20/aspnet/Default.aspx
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Zitat von Peter Bucher
Hallo Sieben

Response.Write solltest du nicht mehr verwenden, siehe:
- http://www.aspnetzone.de/blogs/peterbucher/archive/2008/02/04/die-alten-bekannten-response-write-und-request-form.aspx
Ausser im ASP.NET MVC da werden diese im Tutorial empfohlen, ansonsten der HTML Encoder
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo schaedld
Zitat von schaedld
Ausser im ASP.NET MVC da werden diese im Tutorial empfohlen, ansonsten der HTML Encoder
ASP.NET MVC ist ja auch was anderes :-)


Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Hallo Peter
Zitat
ASP.NET MVC ist ja auch was anderes :-)
Jup, finde ich sehr interessant, wohl tuen sich dort sicherlich andere Probleme auf die man mit dem "normalen" ASP.NET nicht hätte /hat ;)
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo schaedld
Zitat von schaedld
Jup, finde ich sehr interessant, wohl tuen sich dort sicherlich andere Probleme auf die man mit dem "normalen" ASP.NET nicht hätte /hat ;)
Genau so ist es ;-)


Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers