我想在我的用户控件中创建一个内联函数/方法,以便我可以这样做:
在我的test.ascx中:
<asp:Repeater ...>
<itemTemplate>
<p><%# MyInlineMethod(Eval("hello").ToString())%> </p>
<itemTemplate>
</asp:Repeater>
这可能吗?
答案 0 :(得分: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);
}
}
}
答案 1 :(得分: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";
}
}