2013-10-24 88 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

更新以澄清 –