gpt4 book ai didi

javascript - 隐藏输入 "empty string"与 "null"Javascript、VB

转载 作者:行者123 更新时间:2023-12-03 04:53:41 25 4
gpt4 key购买 nike

我尝试在 VB 中对集合进行 JSON 反序列化,如下所示。

Dim items = JsonConvert.DeserializeAnonymousType(Page.Request.Params("Items"), New List(Of ItemDto))

反序列化出现问题,字符串“value”不能为空。

System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: value
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)

集合“Items”存储在 <asp:HiddenField runat="server" ClientIDMode="Static" ID="Items" /> 中翻译为 <input type="hidden"....>

但是,如果我这样做了$("#Items').val(null);在它运行之前,如果没有项目,然后它就可以正常工作。

问题是,为什么$("#Items").val();完成之前显示为“”,完成后显示为“”$("#Items").val(null);是不是有看不见的区别?就像零宽度空间?

我不知道为什么将集合设置为“null”会使代码正常工作。

谢谢。

最佳答案

$("#Items").val();

永远不会返回 NULL,因此会返回空字符串,当您这样做时

$("#Items').val(null);

它将值设置为“”或空字符串而不是 null

所以不会抛出下面的异常

System.Web.HttpUnhandledException' was thrown. ---> System.ArgumentNullException: Value cannot be null.

因为该值被 JQuery 设置为“”而不是 NULL,因此不会引发 ASP.NET 异常

关于javascript - 隐藏输入 "empty string"与 "null"Javascript、VB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42533252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com