首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理NRT和MVC模型绑定

处理NRT和MVC模型绑定
EN

Stack Overflow用户
提问于 2022-07-07 08:23:38
回答 1查看 65关注 0票数 0

当我为我的项目激活NRT时,如果您不在ASP.NET参数中传递变量值,则在模型绑定中遇到意外的行为。

代码语言:javascript
复制
public IActionResult MyAction(string testString)
{
    // I assume there will be a non-null string and work with it,
    // but I get NullReferenceException, because in fact
    // for 'testString' I get null instead of String.Empty.
    string trimmedString = testString.Trim();

    // other code....

    return View();
}

怎么处理呢?

一种解决方案是使所有控制器操作中的所有字符串都为空,以避免欺骗自己和编译器。也许这是.NET模型绑定中的错误行为。

EN

回答 1

Stack Overflow用户

发布于 2022-07-08 02:24:09

您可以配置ConvertEmptyStringToNull来指定字符串类型的哪个属性可以是empty而不是null

在这里,我创建了一个具有字符串类型的两个属性的类,一个属性具有[DisplayFormat(ConvertEmptyStringToNull = false)]属性,另一个属性没有

代码语言:javascript
复制
public class TestModel
{
    [DisplayFormat(ConvertEmptyStringToNull = false)]
    public string Name { get; set; }


    public string Age { get; set; }
}

现在,我不传递URl参数中的任何值。您可以看到它们之间的区别:一个是empty,另一个是null

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72894531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档