加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 区分ASP.NET MVC4中的null和missing参数

发布时间:2020-12-15 21:33:15 所属栏目:百科 来源:网络整理
导读:我正在写一个API.我想允许PUT方法更新资源.下面是一个表示资源的示例模型对象 – var resourceToUpdate = new TestResourceModel() { Id = 5 Name = "testName",Description = "description",etc... } 我希望客户端能够PUT到/ TestResource / 5来更新资源的
我正在写一个API.我想允许PUT方法更新资源.下面是一个表示资源的示例模型对象 –

var resourceToUpdate = new TestResourceModel() 
    {
        Id = 5
        Name = "testName",Description = "description",etc...
    }

我希望客户端能够PUT到/ TestResource / 5来更新资源的属性

现在,假设客户端只想更新属性Name,而不是更新描述,因此发送以下请求:

Name="testNewName"

在这种情况下,资源应该更新,因此Name现在是“testNewName”,put描述仍然是“描述”

我如何区分这种情况(在我的Controller方法中),以及客户端想要将Description属性设置为null的情况:

Name="testNewName"
Description=

因为我的控制器方法看起来像:

[HttpPut]
public ActionResult Index(TestResourceModel model)
{
    //True in both cases
    bool descriptionSet = model.Description == null;

解决方法

那么你必须将传入的值与你想要更新的值进行比较.我的意思是null是null是null

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读