gpt4 book ai didi

c# - MVC传模型来查看

转载 作者:太空狗 更新时间:2023-10-29 20:38:54 26 4
gpt4 key购买 nike

我的索引.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/

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