Si declaración en la página aspx

96

Quiero escribir una declaración if básica en mi sitio para mostrar el elemento 1 o el elemento 2, dependiendo de si una variable se establece en verdadera.

No estoy muy familiarizado con .NET y necesito un poco de ayuda con la estructura básica de cómo hacer que una declaración if funcione en la página aspx

Puntilla
fuente

Respuestas:

191

si el propósito es mostrar u ocultar una parte de la página, puede hacer lo siguiente

1) envuélvalo en marcado con

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

2) Envuelva las partes en un control Panel y en el código subyacente use la instrucción if para establecer la propiedad Visible del Panel.

Kris van der Mast
fuente
XIII quiero marcar un botón de radio si alguna variable es verdadera, ¿cómo hacerlo?
Ihsan chahi
el código de muestra es <input type = "radio" id = "Accept" name = "optpost" value = "1" <% if (item.Accept == 1) {comprobado = "comprobado"}%> class = "Predeterminado" />
Ihsan chahi
Lo intenté, pero no funciona. este es mi código <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>pero todavía se muestra
John Nguyen
@JohnNguyen ¿Puedes crear una nueva pregunta para esto y crear el código de una manera más legible?
Kris van der Mast
@JohnNguyen Es porque sus márgenes están rotos, al final, aquí:%> '>> </ asp: Label> Es uno> demasiado. Espero que esto no te haya molestado durante 3 años xD
Eric Sjöström
42

Solo usa código simple

<%
if(condition)
{%>

html code

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

Normalmente, solo colocaría el código en el código subyacente de Page_Loadsu .aspxpágina.

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

Esto supone que ya tiene Item1y Item2distribuyó en la página.

Daniel DiPaolo
fuente
Estoy de acuerdo con Daniel DiPaolo sobre la mejor manera de manejar un elemento de visualización de página ASP.NET conmutado basado en una variable verdadero / falso.
JohnH
4

Para usar C # (el script C # se inicializó en 2015) en la página ASPX, puede usar la siguiente sintaxis.

Etiqueta de inicio: - <% Etiqueta de fin: - %> Asegúrese de que todo el código C # debe residir dentro de esta <%%>.

Ejemplo de sintaxis: -

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (Para importar espacios de nombres) Referencia a algunos espacios de nombres básicos para trabajar con la página 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" %>

Código C #: -

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

Características del script C #:

  • Sin necesidad de compilación. La ejecución en tiempo de ejecución se produce como Java Script.

Antes de usar el script C #, asegúrese de lo siguiente: -

  • Estás en WebForm. No en WebForm con página maestra.
  • Si está en WebForm con una página maestra, asegúrese de haber escrito su script C # en el archivo de la página maestra.
  • El script C # se puede insertar en cualquier lugar de la página aspx pero después de la meta declaración de la página como

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

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

Sajeeb Chandan
fuente
3

Una respuesta completa para contenido opcional en el encabezado de una página aspx de VB.NET usando una página maestra:

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

Donde la URL de su página actual es algo como:

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

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

Aquí hay uno simple escrito en VB para una página ASPX:

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

C#

  if (condition)
    statement;
  else
    statement;

vb.net

  If [Condition] Then
    Statement
  Else
    Statement
  End If

If else ejemplos con código fuente ... If..else en Asp.Net

Tamborileo

Tamborileo
fuente
No creo que estuviera luchando con la sintaxis if, más que ver con cómo incluir esto en una página ASP con código HTML en los bloques de instrucciones.
dmoney
recuerde que esto es aspx y necesita las etiquetas de afeitar.
Steven Black