3

これを行うことができるように、ユーザーコントロール内にインライン関数/メソッドを作成したい:

私のtest.ascx内:

<asp:Repeater ...>
  <itemTemplate>
     <p><%# MyInlineMethod(Eval("hello").ToString())%> </p>
  <itemTemplate>
</asp:Repeater>

これは可能ですか?

4

2 に答える 2

2

はい、可能ですが、staticメソッドでなければなりません。そして、完全修飾名でアクセスするか、名前空間をインポートする必要があります。

<%@ Import Namespace="RootNamespace.SubNamespace1" %>

<asp:Repeater ...>
  <itemTemplate>
     <p><%# MyClass.MyInlineMethod(Eval("hello").ToString())%> </p>
  <itemTemplate>
</asp:Repeater>

メソッド定義

namespace RootNamespace.SubNamespace1
{
     public class MyClass
     {
         public static string MyInlineMethod(string input){
            return string.Format("{0}!!!",input);
         }
     }
}
于 2012-12-10T22:39:33.330 に答える
0
<!-- IsActive is a boolean property of a bound item -->
<div class="<%# WebUtils.GetStyleName((bool)Eval("IsActive")) %>" />
public class WebUtils
{
   public static string GetStyleName(bool isActive)
   {
         return isActive ? "activeStyleName" : "notactiveStyleName";
   }
}
于 2012-12-10T22:43:52.773 に答える