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

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.


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

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à.


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)


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


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

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

-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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.