首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET核心变量在视图中不存在/为空白

.NET核心变量在视图中不存在/为空白
EN

Stack Overflow用户
提问于 2019-03-15 09:31:37
回答 1查看 51关注 0票数 1

我有一个ViewModel,我传递给我的观点:

代码语言:javascript
复制
public class CreateFormViewModel
{
    public string Id { get; set; }
    [Required]
    public string Name { get; set; }
    public string FormPropertiesList { get; set; }
}

当我提交表单时,FormPropertiesList将包含一个将被处理的JSON数组。

但是,问题是当我加载页面时,FormPropertiesList是空的。这意味着除非它包含任何数据,否则我将无法解析它。

现在,这是我所犯的错误

未登录的SyntaxError:意想不到的标记!==

这是我的jquery代码:

代码语言:javascript
复制
if (typeof @Model.FormPropertiesList !== 'undefined') {
    console.log(JSON.parse(@Model.FormPropertiesList));
}

在控制台中,我可以看到@Model.FormPropertiesList是空的。不是null或"“而是空白。

在加载页面之前,我试图将其声明为空服务器端,但同样的问题也发生了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 09:37:38

考虑到@Model.FormPropertiesList可以将空字符串输出到前端逻辑,那么在尝试解析字符串之前检查字符串的长度就更有意义了。

不要忘记,在输出值时,需要在客户端添加引号,以便将其正确解释为字符串:

代码语言:javascript
复制
if ('@Model.FormPropertiesList'.length !== 0) {
  var obj = JSON.parse('@Model.FormPropertiesList');
  console.log(obj);
}

请注意,可以通过合并以下值使其更加简洁:

代码语言:javascript
复制
var obj = JSON.parse('@Model.FormPropertiesList' || '{}');
console.log(obj);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55179429

复制
相关文章

相似问题

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