我有点想弄清楚如何显示字段的值
model.SumValue
,我正在控制器类的输入字段或标签中计算该值。
控制器类-
public IActionResult Index()
{
var model = new SumModel();
return View(model);
}
[HttpPost]
public IActionResult Sum(SumModel model)
{
model.Sum= Sum();
return View();
}
模型类-
public class SumModel
{
public string SumValue { get; set; }
}
查看课程-
@model YourNamespace.SumModel
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<label>Sum Value:</label>
<input type="text" value="@Model.SumValue" readonly />
</body>
</html>
我正在尝试以这种方式将字段名称设置到
<input/>
字段中。
<input type="text" asp-for="SumValue" />
谁能指出我哪里错了?
更新 - 当我尝试显示该值时,它会将我带到不同的页面
/Home/Sum
,并且它说找不到该值。
传递到类型为
SumModel
的视图日期模型时,应在视图中声明相同的类型:
@model YourNamespace.SumModel
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<label>Sum Value:</label>
<input type="text" value="@Model.SumValue" readonly />
</body>
</html>
可以省略
@Model
前缀,因为编译器构造属性 id
和 name
使用 @model
定义中使用的模型声明。
更新问题后,我们可以看到
SumValue
尚未初始化。尝试定义一些值:
public IActionResult Index()
{
var model = new SumModel() { SumValue = "Test-Text"};
return View(model);
}
此外,要检查 Razor 引擎生成的 HTML 内容是什么,请在浏览器中单击鼠标右键,然后在弹出菜单中选择
View Page Source
。这将帮助您了解从您的 .cshtml
生成了哪些 HTML 代码,并将为您提供更多有用的信息。