1

私はユーザーコントロールに次のコードを持っています

<td class="column <%# GetCssClass(SomeAttributes) %>" >

GetCssClassメソッドからの正しいCSSクラス出力で問題なく動作しています。しかし、次のコードを持つそのテーブルの他のセルもいくつかあります

<td class="column <%# GetCssClass(SomeAttributes) %>" runat="server" Visible="<%# ShowColumn %>"

いくつかの問題があり、GetCssClassメソッドは評価されませんが、代わりに文字通り出力に送信されます。

何か助けはありますか?(私は新しいasp.net開発者です)

4

1 に答える 1

1

runat="server"パラメータ/オブジェクトを行に渡そうとすると、<%# ..%>

Visible="<%# ShowColumn %>ここで、ShowColumnはブール値を使用できます。

ただし、この場合class="column <%# GetCssClass(SomeAttributes) %>"、パラメータではなく文字列を渡そうとします。そのため、<%# GetCssClass(SomeAttributes) %>は文字列と見なされます。

これclass="column <%# GetCssClass(SomeAttributes) %>"は文字列へのコンバーターであり、文字列としてレンダリングされます。GetCssClassの戻り値の文字列をレンダリングする別の方法は、<%= %>その変換を使用して値を文字列化し、それをhtmlに配置することです(コントロールには渡されません)。

これclass="<%# GetCssClass(SomeAttributes) %>"は、クラスにGetCssClassを返す場所です。

このVisible="<%# ShowColumn %>"場所は、Visible変数のShowColumn値にあります。

于 2012-06-04T10:38:31.093 に答える