2010-12-28 7 views
0

私はバインディングオブジェクト内のプロパティの値に応じて、テーブルの特定のセクションを非表示または表示しようとしています。ASP.NETでaspxページのデータバインディングオブジェクトにアクセスするには?

ASP.NET MVCで
public class Class1 
{ 
    public bool Display { get; set; } 
} 

、私は次の操作を行うことができます(と仮定しClass1がページに結合するモデルである。)

<table> 
    <tr>Row 1</tr> 
    <tr>Row 2</tr> 
    <% if(Model.Display) { %> 
    <tr>Row 3</tr> 
    <tr>Row 4</tr> 
    <% } %> 
</table> 

私は移行ASPで同じ動作を実現するにはどうすればよいです。ネット?その "モデル"変数は利用できません。データバインディングオブジェクトを取得するにはどうすればよいですか?ありがとう。

+0

あなたは何にデータバインドしていますか?このページにGridView、FormViewなどがありますか? – Marcie

+0

私はTelerik RadGridコントロールにオブジェクトのコレクションをバインドしており、テーブルは各バインディングオブジェクト行のネストされたテンプレートに存在します。 – weilin8

答えて

2

必要な情報を持つプロパティをページクラスに追加します。マークアップから参照することができます。

分離コード:

class PageClass : System.Web.UI.Page 
{ 
    protected Class1 SomeImportantInfo { get; private set; } 
} 

マークアップ:あなたはこれらは多くの場合、EventArgsの上e.DataItemプロパティを持っているなどOnRowDataBound、などのイベントを購読することができ、データバインディングの間に

<table> 
    <tr>Row 1</tr> 
    <tr>Row 2</tr> 
    <% if (this.SomeImportantInfo.Display) { %> 
    <tr>Row 3</tr> 
    <tr>Row 4</tr> 
    <% } %> 
</table> 
+0

私の元の意図は、何らかの形でDataBinderを利用することを望むaspxページでデータバインディングオブジェクトを直接使用することでした。私はまだそのルートを通過する方法があるかどうか不思議です。しかし、これも解決策になります。ありがとう。 – weilin8

0

。これで、e.DataItemを、コレクションにバインドされたオブジェクトの型にキャストできます。

関連する問題