gpt4 book ai didi

asp.net-mvc - 如何在发布表单时将默认值设置为空 EditorFor-field i .NET MVC

转载 作者:行者123 更新时间:2023-12-01 12:29:29 25 4
gpt4 key购买 nike

我在 .NET MVC 5 中有一个表单。用户可以在其中写入一个数字,默认值为“0”,如果用户删除一个数字,例如"233"一个让字段空着。表单不会提交。

如何提交空白字段的表单?

public class myModel 
{
public int nummer { get; set; }
public myModel(){}
public myModel(int i) {this.nummer = i;}
}

Razor 代码:

using (Html.BeginForm("myAction", "myController", FormMethod.Post, new { @class = "form-inline" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text- danger" })
@Html.EditorFor(model => model.nummer, new { htmlAttributes = new { @class = "form-control " } })
<input type="submit" value="submit" name="btnSubmit"/>
}

我对验证错误消息不感兴趣,但默认情况下将值设置为“0”。

最佳答案

DefaultModelBinder 使用无参数构造函数初始化您的模型(永远不会调用您的第二个构造函数)。您需要使该属性可为 null 以防止客户端和服务器端验证错误

public int? nummer { get; set; }

然后在 POST 方法中,测试是否为 null,如果是,则将值设置为 0

if(!model.nummer.HasValue)
{
model.nummer = 0;
}

或者,您可以编写自己的 ModelBinder 来测试 null 值,并在 ModelBinder 中将值设置为 0

关于asp.net-mvc - 如何在发布表单时将默认值设置为空 EditorFor-field i .NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695563/

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