如何防止 Model 中的旧数据自动传入输入字段?
Posted
技术标签:
【中文标题】如何防止 Model 中的旧数据自动传入输入字段?【英文标题】:How to prevent old data in Model from being passed into the input fields automatically? 【发布时间】:2022-01-05 17:47:31 【问题描述】:是否可以防止数据自动传递到输入字段。例如 - 如果我有一个编辑页面,我想在其中更改数据,并且我希望用户再次键入数据而不给他预先填写的旧数据。我正在查看一些关于 ModelState 和 asp-for 标签的文档,但我找不到答案。
我正在寻求帮助,我在这里找到了这篇文章。好吧,我想做完全相反的事情。
asp-for tag helper functionality_
编辑: 我尝试将输入字段的 value 属性更改为空字符串并且它有效,但是我仍然想知道是否有 asp.net 方法。
【问题讨论】:
您必须发布您的模型、视图和操作 由于某种原因完全不可能这样做。我正在尝试编辑帖子并插入代码,但它会抛出一个错误,说我没有正确插入代码,我是的,我阅读了它是如何完成的,但它仍然不起作用。 【参考方案1】:如果您不想将数据从操作传递到编辑视图,您可以返回一个带有空模型的视图,如下所示:
public IActionResult Edit()
return View(new YourModel());
或者你可以尝试用id
和name
属性替换asp-for
,这样数据就不会绑定到输入了。这里有一个demo。
改变
<input asp-for="TestProperty" />
到
<input id="TestProperty" name="TestProperty" />
【讨论】:
非常感谢!由于我是 .NET Core 的新手,我想在我这样做之后,我可以创建一个继承原始对象 id 的新对象,然后在数据库中更新它。 (Id 是我的主键,所以我想它应该可以工作,不是吗?) 是的,你可以更新它。以上是关于如何防止 Model 中的旧数据自动传入输入字段?的主要内容,如果未能解决你的问题,请参考以下文章