2013-10-24 62 views
0
<div> 
Email: 
<a id="email href="mailto:@Model.Contact.Email">@Model.Contact.Email.ToStringMyCustomFormatted</a> 
</div> 

我想创建自定义格式化方法并像这样应用它。 (与我们可以将ToString()方法应用于此)相同。) 我不想使用JavaScript通过使用Document.Ready()来执行任何格式设置。 总之,我想扩展ToString方法,就像ToStringMyCustomFormatted,通过它可以将我自己的规则应用于字符串输出。 我甚至不确定是否可以做类似的事情。 请指教!ASP.NET MVC4自定义格式化方法

回答

1

你可以使用一个简单的C#扩展方法(或直接在您的联系人模型):

public static class YourContactModelExtensions { 
    public static string ToStringMyCustomFormat(this YourContactModel m) { 
     // TODO 
    } 
} 

,或者如果你想让它适用于所有的字符串:

public static class StringExtensions { 
    public static string ToMyCustomFormat(this string s) { 
     // TODO 
    } 
} 

或剃刀帮手你的剃须刀页功能:

@helper ToStringMyCustomFormat(YourContactModel m) { 
    @* TODO *@ 
} 

@helper ToMyCustomFormat(string s) { 
    @* TODO *@ 
} 
+0

谢谢......!我正在关注此链接: [如何:实现和调用自定义扩展方法(C#编程指南)](http://msdn.microsoft.com/en-us/library/bb311042.aspx) – rak

+0

只有一个问题:扩展名应该是'String'而不是'Contact',因为该方法是从'Email'属性中调用的,而不是直接调用实例。 –

+0

更新以澄清 –