2013-05-10 79 views
1

在問題prepopulate Html.TextBoxFor in asp.net mvc 3中,您可以看到一個答案,其中以下代碼片段正常工作。空字符串返回null for textboxfor mvc 4

ViewBag.CompName = "Some Name"; 

然後在您的視圖:

@Html.TextBoxFor(model =>model.Comps.CompName, new {@Value = ViewBag.CompName}) 

然而,當文本框得到一個空字符串「」的初始值,它似乎張貼空值這個文本框。

ViewBag.CompName = ""; 

這發送一個空值而不是空字符串。

有什麼方法可以返回空字符串而不是null嗎?

+0

而在'ViewBag'加,可以加'string.empty',而不是'ViewBag.CompName'如果是空 – 2013-05-10 15:00:38

回答

11

這是預期的行爲。嘗試使用DisplayFormat屬性。

[DisplayFormat(ConvertEmptyStringToNull=false)]CompName頂部你的模型屬性。

See Reference

例如: -

[DisplayFormat(ConvertEmptyStringToNull = false)] 
public string CompName 
{ 
    get { return _compName; } 
    set { _compName= value; } 
}