我的強類型View從Linq創建的「Person」對象繼承到SQL。在我的「編輯」來看,我不得不顯示,舊值:模型綁定和顯示修剪字符串屬性
<%= Html.TextBox("FirstName") %>
「姓」是NCHAR,所以它需要修剪。所以我結束了:
<%= Html.TextBox("FirstName", Model.FirstName.Trim()) %>
和這個工程。但是,當表單提交(POST)之後,並出現一些錯誤,我需要再次顯示:
[AcceptVerbsAttribute(HttpVerbs.Post), Authorize(Roles = "office"), HandleError]
public ActionResult Edit(Models.Person person)
{
if (!(_personService.ValidatePerson(person))) // Persona non valida
{ return View(person); }
}
如果由於某種原因,用戶離開文本框「名字」 空白,所產生的財產Person.FirstName變成null和Model.FirstName.Trim()拋出一個異常(對象引用未設置爲對象的實例)。
任何方式來修改綁定,並默認所有的字符串修剪?或者如何解決這個問題的任何想法?
更新:似乎證實是一個MVC 2的行爲..仍然在尋找一個好辦法來處理這個問題。實際使用的擴展方法:
public static string TrimOrDefault(this string value)
{
return value != null ? value.Trim() : string.Empty;
}
@gremo檢查我的編輯你的部分類的例子。 – griegs 2009-12-03 03:44:20