aspxページのifステートメント


96

サイトに基本的なifステートメントを記述して、変数がtrueに設定されているかどうかに応じて、アイテム1またはアイテム2を表示します。

私は.NETにあまり詳しくないので、aspxページでifステートメントを機能させる方法の基本構造について少し助けが必要です。

回答:


191

目的がページの一部を表示または非表示にすることである場合、次のことができます

1)マークアップでラップする

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

2)パネルコントロールでパーツをラップし、コードビハインドでifステートメントを使用して、パネルのVisibleプロパティを設定します。


XIIIいくつかの変数がtrueの場合、ラジオボタンをチェックしたいのですが、どうすればよいですか?
Ihsan chahi

サンプルコードは<input type = "radio" id = "Accept" name = "optpost" value = "1" <%if(item.Accept == 1){checked = "checked"}%> class = "Default"です。 />
Ihsan chahi

試しましたがうまくいきません。これは私のコードです<% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>が、それでも表示されます
John Nguyen

@JohnNguyenこれに関する新しい質問を作成して、コードをより読みやすい方法で構成できますか?
クリスファンデルマスト2015

@JohnNguyen最終的には、マークアップが壊れているためです:%> '>> </ asp:Label>これは1つ以上です。希望は、このhasen'tはあなたの3年間のxDで悩まれて
エリックSjöström

42

単純なコードを使用するだけ

<%
if(condition)
{%>

html code

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

9

通常Page_Loadは、.aspxページのコードビハインドにコードを挿入します。

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

これは、すでにページに配置されていることを前提Item1Item2しています。


true / false変数に基づいてトグルされた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#スクリプトの機能:

  • コンパイルの必要はありません。ランタイムの実行は、Javaスクリプトのように行われます。

C#スクリプトを使用する前に、次のことを確認してください。

  • Webフォームを使用しています。マスターページのあるWebFormではありません。
  • マスターページを含むWebフォームを使用している場合は、マスターページファイルで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



1

ASPXページ用にVBで記述された簡単なものを次に示します。

                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

他にソースコードの例がある場合... Asp.NetのIf..else

パターン


私は彼がif構文に苦労していたとは思わない。ステートメントブロックにHTMLコードを含むASPページにこれを組み込む方法については、さらにそうだ。
dmoney

これはaspxであり、かみそりタグが必要であることを忘れないでください!
スティーブンブラック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.