【问题标题】:empty string returns null for textboxfor mvc 4空字符串为 mvc 4 的文本框返回 null
【发布时间】:2013-12-05 11:30:46
【问题描述】:

在问题prepopulate Html.TextBoxFor in asp.net mvc 3 中,您可以看到以下代码可以正常工作的答案。

ViewBag.CompName = "Some Name";

那么在你看来:

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

但是,当文本框获取空字符串“”的初始值时,它似乎为该文本框发布了一个 null 值。

ViewBag.CompName = "";

这会发送一个空值而不是一个空字符串。

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

【问题讨论】:

  • 在添加ViewBag时,如果为null,可以添加string.empty而不是ViewBag.CompName

标签: c# asp.net-mvc asp.net-mvc-4 razor html.textboxfor


【解决方案1】:

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

[DisplayFormat(ConvertEmptyStringToNull=false)] 位于模型中的 CompName 属性之上。

See Reference

例如:-

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 2012-10-09
    • 2012-09-18
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多