資料在資料庫中有斷行符號,但從controller撈出後View的呈現卻沒辦法呈現斷行
這時候只好自定義擴展方法來達成
自定義擴展方法
- 在專案新增資料夾新增一個class
- using System.Web.MVC
- 記得改成static class 跟 static method
namespace PlantCatalog.HtmlHelpers { public static class HelperExtendMethods { public static MvcHtmlString DisplayWithBreaksFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression) { var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData); var model = html.Encode(metadata.Model).Replace("\r", "").Replace("\n","<br />"); if (String.IsNullOrEmpty(model)) return MvcHtmlString.Empty; return MvcHtmlString.Create(model); } } }
View
razor 就可以使用這個擴充方法囉~
@Html.DisplayWithBreaksFor(model => model.LiveNote)
參考資料