Aspx sayfasındaki if ifadesi


99

Bir değişkenin true olarak ayarlanıp ayarlanmadığına bağlı olarak öğe 1 veya öğe 2'yi görüntülemek için sitemde temel bir if ifadesi yazmak istiyorum.

NET'e pek aşina değilim ve aspx sayfasında çalışmak için if ifadesinin nasıl alınacağına dair temel yapı konusunda biraz yardıma ihtiyacım var.

Yanıtlar:


195

amaç sayfanın bir bölümünü göstermek veya gizlemekse, aşağıdaki işlemleri yapabilirsiniz

1) ile işaretlemeye sarın

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

2) Parçaları bir Panel denetimine sarın ve kod arkasında, Panel'in Visible özelliğini ayarlamak için if ifadesini kullanın.


XIII Bazı değişkenler doğruysa bir radyo düğmesini kontrol etmek istiyorum, nasıl yapılır?
Ihsan chahi

örnek kod: <input type = "radio" id = "Kabul et" name = "optpost" value = "1" <% if (item.Accept == 1) {kontrol = "kontrol edildi"}%> class = "Varsayılan" />
Ihsan chahi

Denedim ama işe yaramıyor. bu benim kodum <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>ama hala görünüyor
John Nguyen

@JohnNguyen Bunun için yeni bir soru oluşturabilir ve kodu daha okunaklı bir şekilde uydurabilir misiniz?
Kris van der Mast

@JohnNguyen Bunun nedeni işaretlerinizin bozuk olması, sonunda burada:%> '>> </ asp: Label> Bu bir> çok. Umarım bu sizi 3 yıldır rahatsız etmemiştir xD
Eric Sjöström

43

Sadece basit bir kod kullanın

<%
if(condition)
{%>

html code

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

9

Normalde sadece kod sopa ediyorum Page_Loadsenin de .aspxsayfanın kod arkasında.

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

Bu , sayfaya zaten sahip olduğunuzu Item1ve Item2yerleştirdiğinizi varsayar .


Doğru / yanlış değişkene dayalı geçişli bir ASP.NET sayfa görüntüleme öğesinin en iyi nasıl işleneceği konusunda Daniel DiPaolo ile aynı fikirdeyim.
JohnH

5

Bir ana sayfa kullanarak bir VB.NET aspx sayfasının başlığındaki isteğe bağlı içerik için eksiksiz bir yanıt:

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

Mevcut sayfanızın url'si şuna benzer:

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


3

ASPX sayfasında C # (C # Script başlatıldı) kullanmak için aşağıdaki sözdizimini kullanabilirsiniz.

Başlangıç ​​Etiketi: - <% Bitiş etiketi: - %> Lütfen tüm C # kodunun bunun içinde yer alması gerektiğinden emin olun <%%>.

Sözdizimi Örneği: -

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (Ad Alanını içe aktarmak için) ASPX sayfasıyla çalışmak için bazı temel ad alanlarına başvuru.

    <%@ 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 # Kodu: -

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

C # Komut Dosyasının Özellikleri:

  • Derlemeye gerek yok. Java Script gibi çalıştırma zamanı yürütülür.

C # komut dosyasını kullanmadan önce aşağıdakilerden emin olun: -

  • WebForm'dasınız. Ana sayfalı WebForm'da değil.
  • Ana sayfalı WebForm'daysanız, C # komut dosyanızı Ana sayfa dosyasında yazdığınızdan emin olun.
  • C # betiği aspx sayfasında herhangi bir yere eklenebilir, ancak sayfanın meta bildiriminden sonra

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

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


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

1

İşte bir ASPX sayfası için VB'de yazılmış basit bir tane:

                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

Kaynak kodlu başka örnekler varsa ... Asp.Net'te If..else

Pıtırtı


Bunun if sözdizimi ile mücadele ettiğini sanmıyorum, bunun bir ASP sayfasına HTML kodu ile ifade bloklarına nasıl dahil edileceğiyle daha çok ilgisi var.
dmoney

bunun aspx olduğunu ve jilet etiketlerine ihtiyacı olduğunu unutmayın!
Steven Black
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.