【发布时间】:2014-03-21 10:09:04
【问题描述】:
我正在使用带有 HTML CSS jQuery KnockoutJs 前端的 ASP.NET MVC C#。
我的 HTML 页面上有一个模式联系表。这个想法是,如果我创建一个新联系人,模态表单会弹出一个空白值,包括一个空白的隐藏 id 字段。
如果我编辑联系人,则会弹出模式表单,其中包含已填写的字段,包括隐藏的 id 字段。
在我的控制器中,我打算这样做:
public JsonResult Contact(string values)
{
var contact = JsonConvert.DeserializeObject<contact>(values);
if (contact.Id.Equals(Guid.Empty))
{
// create a new contact in the database
} else
{
// update an existing one
}
}
但是,我收到一条错误消息,提示 can't convert "" to type Guid
你如何使用 NewtonSoft Json 解决这个问题,我在 Custom JsonConverter 上查看了here,它似乎是正确的,但我不知道该去哪里有了这个。
【问题讨论】:
-
您是否尝试过将
contact.Id属性设为可空?这可能会解决它。 -
我使用数据库中使用的
Contact模型,因此将其设为可空会很糟糕。
标签: c# asp.net-mvc json knockout.js