If-Anweisung auf der Aspx-Seite


91

Ich möchte eine grundlegende if-Anweisung auf meiner Site schreiben, um entweder Element 1 oder Element 2 anzuzeigen, je nachdem, ob eine Variable auf true gesetzt ist.

Ich bin mit .NET nicht allzu vertraut und benötige ein wenig Hilfe bei der Grundstruktur, wie eine if-Anweisung auf der aspx-Seite funktioniert

Antworten:


186

Wenn der Zweck darin besteht, einen Teil der Seite ein- oder auszublenden, können Sie die folgenden Schritte ausführen

1) wickeln Sie es in Markup mit

<% if(somecondition) { %>
   some html
<% } %>

2) Wickeln Sie die Teile in ein Panel-Steuerelement ein und verwenden Sie im Codebehind die if-Anweisung, um die Visible-Eigenschaft des Panels festzulegen.


XIII Ich möchte ein Optionsfeld aktivieren, wenn eine Variable wahr ist. Wie geht das?
Ihsan Chahi

Beispielcode ist <input type = "radio" id = "Accept" name = "optpost" value = "1" <% if (item.Accept == 1) {Checked = "Checked"}%> class = "Default" />
Ihsan Chahi

Ich habe es versucht, aber es funktioniert nicht. Dies ist mein Code, <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>aber es zeigt immer noch
John Nguyen

@JohnNguyen Können Sie eine neue Frage dazu erstellen und den Code besser lesbar machen?
Kris van der Mast

@ JohnNguyen Es ist, weil deine Markups am Ende hier kaputt sind:%> '>> </ asp: Label> Es ist eins> zu viel. Hoffe, das hat dich seit 3 ​​Jahren nicht mehr gestört xD
Eric Sjöström

41

Verwenden Sie einfach einfachen Code

<%
if(condition)
{%>

html code

<% } 
else 
{
%>
html code
<% } %>

9

Normalerweise stecken Sie den Code einfach Page_Loadin .aspxden Code-Behind Ihrer Seite.

if (someVar) {
    Item1.Visible = true;
    Item2.Visible = false;
} else {
    Item1.Visible = false;
    Item2.Visible = true;
}

Dies setzt voraus , Sie haben Item1und Item2bereits auf der Seite angelegt.


Ich stimme Daniel DiPaolo darin zu, wie ein umgeschaltetes ASP.NET-Seitenanzeigeelement basierend auf einer True / False-Variablen am besten behandelt werden kann.
JohnH

3

Um C # (C # -Skript wurde 2015 initialisiert) auf der ASPX-Seite zu verwenden, können Sie die folgende Syntax verwenden.

Start-Tag: - <% End-Tag: - %> Bitte stellen Sie sicher, dass sich der gesamte C # -Code darin befinden muss <%%>.

Syntaxbeispiel: -

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (Zum Importieren von Namespace) Verweis auf einige grundlegende Namespaces für die Arbeit mit ASPX-Seiten.

    <%@ Import Namespace="System.Web.UI.WebControls" %> <%@ Import Namespace="System.Diagnostics" %> <%@ Import Namespace="System" %> <%@ Import Namespace="System.Web" %> <%@ Import Namespace="System.Web.UI" %> <%@ Import Namespace="System.IO" %>

C # -Code: -

`<%
if (Session["New"] != null)
{
    Page.Title = ActionController.GetName(Session["New"].ToString());
}
%>`

Funktionen von C # Script:

  • Keine Zusammenstellung erforderlich. Die Ausführung der Laufzeit erfolgt wie bei Java Script.

Stellen Sie vor der Verwendung des C # -Skripts Folgendes sicher: -

  • Sie befinden sich in WebForm. Nicht in WebForm mit Masterseite.
  • Wenn Sie sich in WebForm mit Masterseite befinden, stellen Sie sicher, dass Sie Ihr C # -Skript in der Masterseitendatei geschrieben haben.
  • C # -Skript kann an einer beliebigen Stelle auf der Aspx-Seite eingefügt werden, jedoch nach der Seiten-Meta-Deklaration wie

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Profile.master.cs" Inherits="OOSDDemo.Profile" %>

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %> (Für WebForm)


2
<div>
    <% 
        if (true)
        {
    %>
    <div>
        Show true content
    </div>
    <%
        }
        else
        {
    %>
    <div>
        Show false content
    </div>
    <%
        }
    %>
</div>

2

Eine vollständige Antwort für optionalen Inhalt im Header einer VB.NET-Aspx-Seite unter Verwendung einer Masterseite:

 <%@ Page Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="some_vb_page.aspx.vb" Inherits="some_vb_page" %> 
 <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">          
     <% If Request.QueryString("id_query_param") = 123 Then 'Add some VB comment here, 
         'which will not be visible in the rendered source code of the aspx page later %>        
         <!-- add some html content depending on -->
         <!-- the condition in the if statement: -->                
         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js" type="text/javascript" charset="utf-8"></script>
     <% End If %>
</asp:Content>

Wo Ihre aktuelle Seiten-URL ungefähr so ​​lautet:

http://mywebpage.com/some_vb_page.aspx?id_query_param=123


1

Hier ist eine einfache, in VB für eine ASPX-Seite geschriebene:

                If myVar > 1 Then
                    response.write("Greater than 1")
                else
                    response.write("Not!")
                End If

-11

C #

  if (condition)
    statement;
  else
    statement;

vb.net

  If [Condition] Then
    Statement
  Else
    Statement
  End If

Wenn sonst Beispiele mit Quellcode ... If..else in Asp.Net

Prasseln


Ich glaube nicht, dass er mit der if-Syntax zu kämpfen hatte, sondern eher damit, wie man dies auf einer ASP-Seite mit HTML-Code in die Anweisungsblöcke einfügt.
Geld

Denken Sie daran, dies ist Aspx und benötigt die Rasiermesser-Tags!
Steven Black
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.