次のコードがあります。
<asp:LinkButton runat="server"
CommandName="SwitchStep"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID")%>'
CssClass="<%# some conditional code here %> activestep">
Step <%# Container.ItemIndex + 1 %>: <%# DataBinder.Eval(Container.DataItem, "ID")%>
</asp:LinkButton>
インラインステートメントはCommandArgument
属性で機能し、テキスト属性で機能することはわかっています。しかし、何らかの理由で、このCssClass
属性では、インライン ステートメントが HTML 出力で (解析されずに) 終了します。なんてこったい?
Chrome の場合:
<a class="<%= 'steptab' %>" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("StepControl:_ctl1:_ctl0", "", true, "", "", false, true))'>
Step 1: section_name</a>
誰もこれに遭遇したことがありますか?なぜこれが機能しないのかわかりません。論理的ではないようで、少しイライラしています。
いくつかのメモ:
- ここに「?」などの当てはまらない文字を入れると、(これは VB です)、コンパイラは文句を言います。
- すべてのサーバー タグ (<%、<%# など) が HTML に表示されます。
- これはリピーター コントロール内にあります。待ってください、それはコードにあります。
- インライン ステートメントの後に「activestep」クラスを削除すると、インライン ステートメントは引き続き表示されますが、HTML にクラス属性がまったく表示されなかったことがあります。
何か案は?ご協力いただきありがとうございます!