作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的索引.cshtml
@model ReportGenerator.WebUI.Models.ReportViewModel
@Html.TextBoxFor(m => m.report.FileName, new { @class = "form-control", id = "FileName" })
我的 Controller
public ActionResult Index(ReportViewModel model)
{
...some stuff
model.report = new Report();
model.report.FileName = "INDEX";
return View(model);
}
public ActionResult fillFields(ReportViewModel _model)
{
...some stuff
_model.report = new Report();
_model.report.FileName = "FILL";
return View("Index", _model);
}
当我运行我的应用程序时,TextBox
Text
属性设置为“INDEX”。此外,当我单击调用 fillFields
Controller 操作的按钮时,TextBox
仍显示“INDEX”,它不会更改为“FILL”。
我做错了什么?为什么它不想工作?
最佳答案
@StephenMuecke 在上面的评论中正确回答了这个问题。
你没有做错任何事。您的 fillFields()
方法有一个 ReportViewModel 参数,因此它的值会在该方法初始化时添加到 ModelState 中。当您返回 View 时,您的 TextBoxFor()
方法使用来自 ModelState
的值(不是模型属性)来设置文本框的值。原因解释了here .正确的做法是遵循 PRG 模式——
关于c# - MVC传模型来查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32944834/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!