对于mvc 4的textbox,空字符串返回null

eve*_*ddy 1 c# asp.net-mvc razor asp.net-mvc-4 html.textboxfor

asp.net mvc 3中预填充Html.TextBoxFor的问题中,您可以看到以下代码正常工作的答案.

ViewBag.CompName = "Some Name";
Run Code Online (Sandbox Code Playgroud)

然后在你看来:

@Html.TextBoxFor(model =>model.Comps.CompName, new {@Value = ViewBag.CompName})
Run Code Online (Sandbox Code Playgroud)

但是,当文本框获取空字符串""的初始值时,它似乎为此文本框发布了null值.

ViewBag.CompName = "";
Run Code Online (Sandbox Code Playgroud)

这将发送空值而不是空字符串.

有没有办法返回空字符串而不是null?

PSL*_*PSL 11

这是预期的行为.尝试使用DisplayFormat属性.

[DisplayFormat(ConvertEmptyStringToNull=false)]CompName在您的模型中的属性顶部.

见参考

例如:-

[DisplayFormat(ConvertEmptyStringToNull = false)]
public string CompName
{
    get { return _compName; }
    set { _compName= value; }
}
Run Code Online (Sandbox Code Playgroud)