function sum() { var t-6ren">
gpt4 book ai didi

asp.net-mvc - 如何将输入字段绑定(bind)到模型 MVC 的编辑

转载 作者:行者123 更新时间:2023-12-02 20:27:46 24 4
gpt4 key购买 nike

我的模型中有以下 JavaScript 和输入字段。

script type="text/javascript">

function sum() {
var txtFirstNumberValue = document.getElementById('money1').value;
var txtSecondNumberValue = document.getElementById('money2').value;
var txtThirdNumberValue = document.getElementById('money3').value;
var result = parseFloat(txtFirstNumberValue) + parseFloat(txtSecondNumberValue) + parseFloat(txtThirdNumberValue);
if (!isNaN(result)) {
document.getElementById('Total').value = result;
}
}
</script>

<div class="form-group">
@Html.LabelFor(model => model.Total, "Total", new { @class = "control-label col-md-5" })
<div class="col-md-offset-0">
<input type="text" id="Total" name="Total" />
@*@Html.EditorFor(model => model.Total)*@
@Html.ValidationMessageFor(model => model.Total)
</div>
</div>

<div class="form-group">
@Html.LabelFor(model => model.money1, "money1", new { @class = "control-label col-md-5" })
<div class="col-md-offset-0">
@*@Html.EditorFor(model => model.money1)*@
<input type="text" id="money1" onkeyup="sum();" name="money1" />
@Html.ValidationMessageFor(model => model.money1)
</div>
</div>

<div class="form-group">
@Html.LabelFor(model => model.money2, "money2", new { @class = "control-label col-md-5" })
<div class="col-md-offset-0">
@*@Html.EditorFor(model => model.money2)*@
<input type="text" id="money2" onkeyup="sum();" name="money2" />
@Html.ValidationMessageFor(model => model.money2)
</div>
</div>

<div class="form-group">
@Html.LabelFor(model => model.money3, "money3", new { @class = "control-label col-md-5" })
<div class="col-md-offset-0">
@*@Html.EditorFor(model => model.money3)*@
<input type="text" id="money3" onkeyup="sum();" name="money3" />
@Html.ValidationMessageFor(model => model.money3)
</div>
</div>

这一切都运行良好。当我在 3 个货币字段中输入一个值时,结果值将显示在“总计”字段中。在 MVC 中,如果我单击详细信息 View ,它会显示所有四个值,但是如果我单击编辑 View ,所有四个字段都是空白的。问题是如何让值显示并保持在编辑模式?

最佳答案

好吧,对于初学者来说,您的模型绑定(bind)输入字段已被注释掉:

@*@Html.EditorFor(model => model.money1)*@

为了让它们发挥作用,您需要取消注释它们。

可以只需使用模型值手动填充标记,如下所示:

<input type="text" id="money1" onkeyup="sum();" name="money1" value="@model.money1" />

这应该使用模型的 money1 值预先填充该输入。尽管您承担了手动实现内置 HTML 帮助程序为您提供的任何其他内容的责任。除非有令人信服的理由不使用 Html.EditorFor() 我想这将是更好的选择。

关于asp.net-mvc - 如何将输入字段绑定(bind)到模型 MVC 的编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27721916/

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