Instruction If dans la page aspx

95

Je veux écrire une instruction if de base sur mon site pour afficher l'élément 1 ou l'élément 2 selon qu'une variable est définie sur true.

Je ne suis pas trop familier avec .NET et j'ai besoin d'un peu d'aide avec la structure de base pour faire fonctionner une instruction if sur la page aspx

Brad
la source

Réponses:

190

si le but est d'afficher ou de masquer une partie de la page, vous pouvez effectuer les opérations suivantes

1) Enveloppez-le dans le balisage avec

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

2) Enveloppez les parties dans un contrôle Panel et dans codebehind, utilisez l'instruction if pour définir la propriété Visible du Panel.

Kris van der Mast
la source
XIII Je veux cocher un bouton radio si une variable est vraie, comment le faire.?
Ihsan chahi
exemple de code: <input type = "radio" id = "Accept" name = "optpost" value = "1" <% if (item.Accept == 1) {checked = "checked"}%> class = "Default" />
Ihsan chahi
J'ai essayé, mais ça ne marche pas. c'est mon code <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>mais il montre toujours
John Nguyen
@JohnNguyen Pouvez-vous créer une nouvelle question pour cela et inventer le code de manière plus lisible?
Kris van der Mast
@JohnNguyen C'est parce que vos balises sont cassées, à la fin, ici:%> '>> </ asp: Label> C'est un> trop. J'espère que cela ne vous dérange pas depuis 3 ans xD
Eric Sjöström
42

Utilisez simplement un code simple

<%
if(condition)
{%>

html code

<% } 
else 
{
%>
html code
<% } %>
عثمان غني
la source
9

Normalement, vous collez simplement le code dans le code-behind de Page_Loadvotre .aspxpage.

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

Cela suppose que vous avez Item1et Item2Disposées sur la page déjà.

Daniel DiPaolo
la source
Je suis d'accord avec Daniel DiPaolo sur la meilleure façon de gérer un élément d'affichage de page ASP.NET basculé en fonction d'une variable vrai / faux.
JohnH
4

Pour utiliser C # (le script C # a été initialisé à 2015) sur la page ASPX, vous pouvez utiliser la syntaxe suivante.

Balise de début: - Balise de <% fin: - %> Veuillez vous assurer que tout le code C # doit résider à l'intérieur <%%>.

Exemple de syntaxe: -

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (Pour importer un espace de noms) Référence à certains espaces de noms de base pour travailler avec la page ASPX.

    <%@ 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" %>

Code C #: -

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

Caractéristiques du script C #:

  • Pas besoin de compilation. L'exécution au moment de l'exécution se déroule comme Java Script.

Avant d'utiliser le script C #, assurez-vous que les choses suivantes: -

  • Vous êtes sur WebForm. Pas sur WebForm avec page maître.
  • Si vous êtes dans WebForm avec une page maître, assurez-vous que vous avez écrit votre script C # dans le fichier de page maître.
  • Le script C # peut être inséré n'importe où dans la page aspx mais après la méta déclaration de la page comme

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

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

Sajeeb Chandan
la source
3

Une réponse complète pour le contenu facultatif dans l'en-tête d'une page aspx VB.NET à l'aide d'une page maître:

 <%@ 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>

Où l'URL de votre page actuelle est quelque chose comme:

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

Мартин П.
la source
2
<div>
    <% 
        if (true)
        {
    %>
    <div>
        Show true content
    </div>
    <%
        }
        else
        {
    %>
    <div>
        Show false content
    </div>
    <%
        }
    %>
</div>
Seattle Leonard
la source
1

Voici un simple écrit en VB pour une page ASPX:

                If myVar > 1 Then
                    response.write("Greater than 1")
                else
                    response.write("Not!")
                End If
Tom Gullen
la source
-11

C #

  if (condition)
    statement;
  else
    statement;

vb.net

  If [Condition] Then
    Statement
  Else
    Statement
  End If

If else exemples avec code source ... If..else dans Asp.Net

Crépiter

Crépiter
la source
Je ne pense pas qu'il se débattait avec la syntaxe if, mais plutôt avec la façon de l'inclure sur une page ASP avec du code HTML dans les blocs d'instructions.
dmoney
rappelez-vous que c'est aspx et a besoin des balises de rasoir!
Steven Black