如何使用剃刀编辑器模板使MVC模型绑定程序返回空字符串而不是null?

稻米宝贝

我有一个名为String的编辑器模板,该模板具有以下html:

<input type="text" name="@ViewData.ModelMetadata.PropertyName" 
    value="@(Model != null ? Model : string.empty)" style="width: 200px" />

由于某些原因,如果我保留未填充的文本框,则在发回时,视图模型上数据类型String的属性为null。我设置此编辑器模板的方式,这些值不应该是空字符串吗?我很好奇为什么这行不通。

我在想我唯一的替代方法是创建自己的自定义模型绑定程序,该绑定程序将自动将所有空值转换为数据类型“字符串”的string.empty。

有什么建议吗?

埃里克·飞利浦(Erik Philips)

我设置此编辑器模板的方式,这些值不应该是空字符串吗?

没有。

我很好奇为什么这行不通。

HTTP协议一无所知的区别String.Emptynull(它的语言无关,即:会的Perl,PHP,Java和植酮呢?)。所有值都以字符串形式传递,因此没有null的概念。默认的ModelBinder只是返回null,因为它比那时更实用String.Empty(也就是说,在参数的上下文中,null通常表示不传递任何值)。

如何使用剃刀编辑器模板使MVC模型绑定程序返回空字符串而不是null?

就剃刀编辑器而言,这是不可能的。请记住,HTTP是不可知论的,因此您有很多选择。自定义ModelBinder,通过Javascript / jQuery输入检测指定值的“隐藏”字段,在验证过程中修改值(IValidateObject)等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails活动模型序列化器,如何返回空字符串而不是null

来自分类Dev

Rails活动模型序列化器,如何返回空字符串而不是null

来自分类Dev

返回空字符串而不是 Null

来自分类Dev

ManyToManyField 在模板中返回空字符串

来自分类Dev

编辑器模板返回空值

来自分类Dev

glGetShaderInfoLog返回空字符串,但着色器程序未正确链接

来自分类Dev

glGetShaderInfoLog返回空字符串,但着色器程序未正确链接

来自分类Dev

如何从RPC调用返回空字符串?

来自分类Dev

PHP-使用mysqli返回空字符串

来自分类Dev

卷曲返回空字符串

来自分类Dev

Summernote返回空字符串

来自分类Dev

fgets()返回空字符串

来自分类Dev

NSubstitute返回空字符串

来自分类Dev

车把返回空字符串

来自分类Dev

.html()返回空字符串

来自分类Dev

Edittext返回空字符串

来自分类Dev

如何在Spring MVC中为int字段绑定空字符串而不是零?

来自分类Dev

尝试获取子字符串,但程序返回空字符串

来自分类Dev

如何使用调度程序将DropDownList绑定到编辑器模板中的数据源?

来自分类Dev

如何使用调度程序将DropDownList绑定到编辑器模板中的数据源?

来自分类Dev

正则表达式返回null vs返回空字符串

来自分类Dev

正则表达式返回null vs返回空字符串

来自分类Dev

bash脚本的%x返回空字符串,而不是实际结果

来自分类Dev

为什么std :: string :: substr抛出异常而不是返回空字符串?

来自分类Dev

子例程返回空字符串,而不是哈希引用

来自分类Dev

返回空字符串,而不是System.NullReferenceException错误

来自分类Dev

从Excel中的IF返回空白单元格(不是空字符串)

来自分类Dev

为什么python输入函数返回空字符串而不是等待用户输入?

来自分类Dev

如何在MVC中将RTF字符串打开到文本区域或编辑器

Related 相关文章

  1. 1

    Rails活动模型序列化器,如何返回空字符串而不是null

  2. 2

    Rails活动模型序列化器,如何返回空字符串而不是null

  3. 3

    返回空字符串而不是 Null

  4. 4

    ManyToManyField 在模板中返回空字符串

  5. 5

    编辑器模板返回空值

  6. 6

    glGetShaderInfoLog返回空字符串,但着色器程序未正确链接

  7. 7

    glGetShaderInfoLog返回空字符串,但着色器程序未正确链接

  8. 8

    如何从RPC调用返回空字符串?

  9. 9

    PHP-使用mysqli返回空字符串

  10. 10

    卷曲返回空字符串

  11. 11

    Summernote返回空字符串

  12. 12

    fgets()返回空字符串

  13. 13

    NSubstitute返回空字符串

  14. 14

    车把返回空字符串

  15. 15

    .html()返回空字符串

  16. 16

    Edittext返回空字符串

  17. 17

    如何在Spring MVC中为int字段绑定空字符串而不是零?

  18. 18

    尝试获取子字符串,但程序返回空字符串

  19. 19

    如何使用调度程序将DropDownList绑定到编辑器模板中的数据源?

  20. 20

    如何使用调度程序将DropDownList绑定到编辑器模板中的数据源?

  21. 21

    正则表达式返回null vs返回空字符串

  22. 22

    正则表达式返回null vs返回空字符串

  23. 23

    bash脚本的%x返回空字符串,而不是实际结果

  24. 24

    为什么std :: string :: substr抛出异常而不是返回空字符串?

  25. 25

    子例程返回空字符串,而不是哈希引用

  26. 26

    返回空字符串,而不是System.NullReferenceException错误

  27. 27

    从Excel中的IF返回空白单元格(不是空字符串)

  28. 28

    为什么python输入函数返回空字符串而不是等待用户输入?

  29. 29

    如何在MVC中将RTF字符串打开到文本区域或编辑器

热门标签

归档