aspx 페이지의 if 문


96

변수가 true로 설정되었는지 여부에 따라 항목 1 또는 항목 2를 표시하도록 사이트에 기본 if 문을 작성하고 싶습니다.

.NET에 너무 익숙하지 않으며 aspx 페이지에서 작동하도록 if 문을 가져 오는 방법의 기본 구조에 대한 약간의 도움이 필요합니다.

답변:


191

페이지의 일부를 표시하거나 숨기는 것이 목적이라면 다음 작업을 수행 할 수 있습니다.

1) 마크 업으로 감싼다.

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

2) Panel 컨트롤에서 파트를 감싸고 코드 숨김에서 if 문을 사용하여 Panel의 Visible 속성을 설정합니다.


XIII 어떤 변수가 참이면 라디오 버튼을 확인하고 싶습니다. 어떻게하나요?
— Ihsan chahi 2013 년

샘플 코드는 <input type = "radio"id = "Accept"name = "optpost"value = "1"<% if (item.Accept == 1) {checked = "checked"} %> class = "Default"입니다. />
— Ihsan chahi 2013 년

시도했지만 작동하지 않습니다. 이것은 내 코드 <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>이지만 여전히 표시됩니다
— John Nguyen

@JohnNguyen 이것에 대한 새로운 질문을 만들고 더 읽기 쉬운 방식으로 코드를 구성 할 수 있습니까?
— Kris van der Mast

@JohnNguyen 결국 마크 업이 깨 졌기 때문입니다. 이것이 3 년 동안 당신을 괴롭히지 않았기를 바랍니다 xD
— Eric Sjöström


9

일반적으로 당신은 단지의 코드를 다루고 싶어요 Page_Load당신의 .aspx페이지의 코드 숨김.

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

이것은 당신이있어 가정 Item1하고 Item2이미 페이지에 배치.


참 / 거짓 변수를 기반으로 전환 된 ASP.NET 페이지 표시 항목을 처리하는 가장 좋은 방법에 대해 Daniel DiPaolo와 동의합니다.
— JohnH

4

ASPX 페이지에서 C # (C # 스크립트는 2015 년에 초기화 됨)을 사용하려면 다음 구문을 사용할 수 있습니다.

시작 태그 :- <% 종료 태그 :- %> 모든 C # 코드가이 안에 있어야합니다 <%%>.

구문 예 :-

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (네임 스페이스 가져 오기 용) 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 # 코드 :-

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

C # 스크립트의 기능 :

  • 컴파일이 필요 없습니다. 런타임 실행은 자바 스크립트처럼 발생합니다.

C # 스크립트를 사용하기 전에 다음 사항을 확인하십시오.

  • WebForm에 있습니다. 마스터 페이지가있는 WebForm에는 없습니다.
  • 마스터 페이지가있는 WebForm에있는 경우 마스터 페이지 파일에 C # 스크립트를 작성했는지 확인하십시오.
  • C # 스크립트는 aspx 페이지의 어느 위치 에나 삽입 할 수 있지만 다음과 같은 페이지 메타 선언 후에

    <%@ 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의 경우)


3

마스터 페이지를 사용하는 VB.NET aspx 페이지의 헤더에있는 선택적 콘텐츠에 대한 완전한 답변 :

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

현재 페이지 URL은 다음과 같습니다.

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

다음은 ASPX 페이지 용으로 VB로 작성된 간단한 것입니다.

                If myVar > 1 Then
                    response.write("Greater than 1")
                else
                    response.write("Not!")
                End If

-11

씨#

  if (condition)
    statement;
  else
    statement;

vb.net

  If [Condition] Then
    Statement
  Else
    Statement
  End If

소스 코드가있는 다른 예 ... Asp.Net의 If..else

은어


나는 그가 if 구문으로 어려움을 겪고 있다고 생각하지 않습니다.이 구문을 구문 블록에 HTML 코드가있는 ASP 페이지에 포함하는 방법과 관련이 있습니다.
— dmoney

이것은 aspx이며 razor 태그가 필요합니다!
— Steven Black
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.