相关疑难解决方法(0)

Asp.Net核心模型绑定,如何将空字段绑定为空字符串?

如果提交了类似下面MyField的表单并在表单上留空,则默认情况下,Asp.Net Core模型绑定将null置于模型上的相应属性中,如下所示.

示例表格

 <form asp-controller="SomeController" asp-action="SomeAction">
        <label asp-for="MyField">My Field</label><input asp-for="MyField" type="text" />    
        <button type="submit">Submit</button>
 </form>
Run Code Online (Sandbox Code Playgroud)


示例模型

 public class MyModel{
     public string MyField { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)


示例操作方法

    [HttpPost]
    public IActionResult Post(MyModel m) {
          //m.MyField will be null if the field was left empty
          //but I want it set to a blank string by the model binder
    }
Run Code Online (Sandbox Code Playgroud)

但是,由于MyField实际上是在Http Post体中传输的,我更喜欢模型绑定器将模型上的MyField属性设置为空字符串,而不是将其设置为null.对于MyField未在Http Post机构中传输的情况,我宁愿保留null .如何更改模型绑定器以显示此行为?

data-binding asp.net-core

5
推荐指数
1
解决办法
2586
查看次数

标签 统计

asp.net-core ×1

data-binding ×1