Declaração If na página aspx

94

Quero escrever uma instrução if básica no meu site para exibir o item 1 ou o item 2, dependendo se uma variável está definida como verdadeira.

Não estou muito familiarizado com .NET e preciso de uma ajudinha com a estrutura básica de como fazer uma instrução if funcionar na página aspx

Brad
fonte

Respostas:

189

se o objetivo é mostrar ou ocultar uma parte da página então você pode fazer o seguinte

1) envolva-o na marcação com

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

2) Envolva as partes em um controle Panel e no code-behind use a instrução if para definir a propriedade Visible do Panel.

Kris van der Mast
fonte
XIII eu quero verificar um botão de rádio se alguma variável for verdadeira, como fazer isso.?
Ihsan chahi
o código de amostra é <input type = "radio" id = "Aceitar" name = "optpost" value = "1" <% if (item.Accept == 1) {CHECK = "CHECK"}%> class = "Default" />
Ihsan chahi
Eu tentei, mas não deu certo. este é o meu código, <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>mas ainda aparece
John Nguyen
@JohnNguyen Você pode criar uma nova pergunta para isso e tornar o código mais legível?
Kris van der Mast de
@JohnNguyen É porque suas marcações estão quebradas, no final, aqui:%> '>> </ asp: Label> É um> muito. Espero que isso não tenha incomodado você por 3 anos xD
Eric Sjöström
41

Basta usar um código simples

<%
if(condition)
{%>

html code

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

Normalmente, você apenas colocaria o código no code-behind de Page_Loadsua .aspxpágina.

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

Isso pressupõe que você já tem Item1e Item2definido na página.

Daniel DiPaolo
fonte
Concordo com Daniel DiPaolo sobre a melhor forma de lidar com um item de exibição de página ASP.NET alternado com base em uma variável verdadeiro / falso.
JohnH
3

Para usar C # (C # Script foi inicializado em 2015) na página ASPX, você pode usar a seguinte sintaxe.

Tag de início: - <% Tag de fim: - %> Certifique-se de que todo o código C # deve residir nele <%%>.

Exemplo de sintaxe: -

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (Para importar namespaces) Referência a alguns namespaces básicos para trabalhar com a 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());
}
%>`

Recursos do script C #:

  • Não há necessidade de compilação. A execução em tempo de execução ocorre como Java Script.

Antes de usar o script C #, certifique-se do seguinte: -

  • Você está no WebForm. Não está no WebForm com página mestra.
  • Se você estiver no WebForm com página mestra, certifique-se de ter escrito seu script C # no arquivo da página mestra.
  • O script C # pode ser inserido em qualquer lugar na página aspx, mas após a meta declaração da 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
fonte
2
<div>
    <% 
        if (true)
        {
    %>
    <div>
        Show true content
    </div>
    <%
        }
        else
        {
    %>
    <div>
        Show false content
    </div>
    <%
        }
    %>
</div>
Seattle Leonard
fonte
2

Uma resposta completa para conteúdo opcional no cabeçalho de uma página aspx VB.NET usando uma página mestra:

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

Onde o URL da sua página atual é algo como:

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

Мартин П.
fonte
1

Aqui está um simples escrito em VB para uma página ASPX:

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

C #

  if (condition)
    statement;
  else
    statement;

vb.net

  If [Condition] Then
    Statement
  Else
    Statement
  End If

If else exemplos com código-fonte ... If..else in Asp.Net

Patter

Patter
fonte
Eu não acho que ele estava lutando com a sintaxe if, mais a ver com como incluir isso em uma página ASP com código HTML nos blocos de instrução.
dmoney
lembre-se que este é aspx e precisa das marcas de navalha!
Steven Black