なぜこれが機能しないのですか?
<ajaxToolkit:TabPanel Enabled='<%# User.IsInRole("admin") %>'...
これが機能している間:
<asp:TextBox Enabled='<%# User.IsInRole("admin") %>'...
最初の例はバインディングコンテキスト(バインドされたコントロール)内にありますか?おそらく、バインディングディレクティブの代わりに出力ディレクティブを使用したいですか?
<ajaxToolkit:TabPanel Enabled='<%= User.IsInRole("admin") %>'
編集:私の悪い。 <%= %>
これはResponse.Writeに変換されますが、これはあなたが望むものではありません。ASP.NETMVCにも慣れていると思います。最良の方法は、それを作成しrunat="server"
、IDを付けて、コードビハインドに値を設定することです。
<ajaxToolkit:TabPanel runat="server" ID="myTabs" ... />
protected void Page_Load( object sender, EventArgs e )
{
myTabs.Enabled = User.IsInRole("admin");
...
}