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.