If istruzione nella pagina aspx


96

Voglio scrivere un'istruzione if di base sul mio sito per visualizzare l'elemento 1 o l'elemento 2 a seconda che una variabile sia impostata su true.

Non ho molta familiarità con .NET e ho bisogno di un piccolo aiuto con la struttura di base di come ottenere un'istruzione if per funzionare sulla pagina aspx

Risposte:


191

se lo scopo è mostrare o nascondere una parte della pagina, puoi eseguire le seguenti operazioni

1) avvolgilo nel markup con

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

2) Avvolgi le parti in un controllo Panel e in codebehind usa l'istruzione if per impostare la proprietà Visible del Pannello.


XIII Voglio controllare un pulsante di opzione se una variabile è vera, come si fa.?
Ihsan chahi

il codice di esempio è <input type = "radio" id = "Accept" name = "optpost" value = "1" <% if (item.Accept == 1) {checks = "checks"}%> class = "Default" />
Ihsan chahi

Ho provato, ma non funziona. questo è il mio codice <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>ma mostra ancora
John Nguyen

@JohnNguyen Puoi creare una nuova domanda per questo e comporre il codice in modo più leggibile?
Kris van der Mast

@JohnNguyen È perché i tuoi markup sono rotti, alla fine, qui:%> '>> </ asp: Label> È uno> troppo. Spero che questo non ti abbia disturbato per 3 anni xD
Eric Sjöström

42

Usa solo un codice semplice

<%
if(condition)
{%>

html code

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

9

Normalmente dovresti semplicemente inserire il codice nel code-behind della Page_Loadtua .aspxpagina.

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

Questo presume che tu abbia già Item1e Item2disposto sulla pagina.


Concordo con Daniel DiPaolo su come gestire al meglio un elemento di visualizzazione di una pagina ASP.NET alternato in base a una variabile vero / falso.
JohnH

4

Per utilizzare C # (lo script C # è stato inizializzato nel 2015) nella pagina ASPX è possibile utilizzare la sintassi seguente.

Tag iniziale: - Tag <% finale: - %> Assicurati che tutto il codice C # risieda al suo interno <%%>.

Esempio di sintassi: -

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (Per l'importazione dello spazio dei nomi) Riferimento ad alcuni spazi dei nomi di base per lavorare con la pagina 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" %>

Codice C #: -

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

Funzionalità di script C #:

  • Non c'è bisogno di compilazione. L'esecuzione in fase di esecuzione è avvenuta come Java Script.

Prima di utilizzare lo script C #, assicurati di quanto segue: -

  • Sei su WebForm. Non su WebForm con pagina master.
  • Se sei in WebForm con la pagina master assicurati di aver scritto lo script C # nel file della pagina master.
  • Lo script C # può essere inserito ovunque nella pagina aspx ma dopo la meta dichiarazione della pagina come

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

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


3

Una risposta completa per il contenuto facoltativo nell'intestazione di una pagina aspx di VB.NET utilizzando una pagina master:

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

Dove l'URL della tua pagina corrente è qualcosa del tipo:

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

Eccone uno semplice scritto in VB per una pagina 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

Se altro esempi con codice sorgente ... If..else in Asp.Net

Picchiettio


Non credo che stesse lottando con la sintassi if, più a che fare con come includerla in una pagina ASP con codice HTML nei blocchi di istruzioni.
dmoney

ricorda che questo è aspx e ha bisogno dei tag razor!
Steven Black
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.