0

私は財産を持っていますpublic Client Clients { get; set; }

ロード中のオブジェクトがある場合:

Client objClients = populate();
if (objClients != null)
{
    Clients = objClients;
}

ifステートメントなどのaspxページでこのオブジェクトのプロパティにアクセスできますか。

私は次のようにしましたが、ページが空白になり、ロードイベントが実行されないため、正しくないと思います:

<%if (this.Clients.Address1.Trim().Length > 0)
 { }%>

編集::::

私がこれをしたら

public string Address1 { get; set; }
Client objClients = populate();
if (objClients != null)
            {
 Address1 = objClients.Address1;
}

そして、aspxファイルでこれを行うと、何らかの理由で正常に動作しますか???

 <%if (Address1.Trim().Length > 0)
                      {%>
                      <%= Address1 %><br />
                    <%} %>
4

2 に答える 2

1

コードビハインド/aspx.csファイル全体をまだ投稿していません。エラーがある可能性があると思います。しかし、私はこれをまったく問題なく動作させました。

コードビハインド

namespace WebApplication1
{
    using System;

    public partial class _Default : System.Web.UI.Page
    { 
        public Client Clients { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            Client objClients = populate();
            if (objClients != null)
            {
                Clients = objClients;
            }
        }

        private Client populate()
        {
            return new Client() { Address1 =  "Somewhere in London" };
        }
    }

    public class Client
    {
        public string Address1 { get; set; }
    }
}

マークアップ

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <% if (Clients.Address1.Trim().Length > 0){ %> 
            <%= Clients.Address1 %><br /> 
        <% }%>
    </form>
</body>
</html>
于 2012-10-10T13:24:45.813 に答える
1

{ } を調整して <% と <%# の違いを生むことができます。おそらく、{} にデータを挿入する必要があります。このためには、使用する必要があります<%#

<%=値を注入するためのものであり、

<%コードを実行するために使用されます。

このコードについては、{ } なしで理解できます。{ } にデータを挿入するコードが含まれている場合は、<%# を使用する必要があります。

<% if (this.Clients.Address1.Trim().Length > 0) %>
于 2012-10-10T09:54:20.600 に答える