【问题标题】:How to save an input value in ASP.NET with razor?如何使用剃刀在 ASP.NET 中保存输入值?
【发布时间】:2014-06-24 08:08:39
【问题描述】:

我的视图上有这段代码:

<div class="editor-label">
    @Html.Label("Periode de Validation")
</div>
<div class="editor-field">
    Mois:
<input data-val="true" data-val-number="The field PART1_MOIS must be a number."
    id="PART1_MOIS" name="PART1_MOIS" style="width: 80px" type="text" value="" />
    Ans :
<input data-val="true" data-val-number="The field PART1_ANS must be a number."
    id="PART1_ANS" name="PART1_ANS" style="width: 80px" type="text" value="" />
    Total en mois :
<input data-val="true" data-val-number="The field PART1_fPeriodeValid must be a number."
        id="PART1_fPeriodeValid" name="PART1_fPeriodeValid" style="width: 80px" type="text" value="" />
    @Html.ValidationMessageFor(model => model.fPeriodeValid)
</div>

我想在月份转换year + month 中的期间,所以我有这个脚本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
            <script>jQuery(function ($) {
            $(":text[id*=_MOIS],:text[id*=_ANS]").blur(function () {
                var MOIS = $(":text[id*=_MOIS]").val();
                var ANS = $(":text[id*=_ANS]").val();
                var total = MOIS / 1 + ANS * 12;
                $(":text[id*=fPeriodeValid]").val(total);
            });
        });</script>

但我不知道如何在我的数据库中保存这个结果(输入按钮 periodeValid)...

我已经试过了:

总和:

&lt;input data-val="true" data-val-number="The field PART1_fPeriodeValid must be a number." id="PART1_fPeriodeValid" name="PART1_fPeriodeValid" style="width: 80px" type="text" value="@Model.fPeriodeValide" /&gt;

我的模型是这样的:public int? fPeriodeValid { get; set; }

【问题讨论】:

  • 你的控制器是什么样子的?它将值传递给控制器​​吗?
  • 也不要使用 尝试使用 @Html.TextBoxFor(model => model.fPeriodeValid, new { @data-val="true", @data-val-number="" } ) 所以它与你的模型映射

标签: c# asp.net ajax asp.net-mvc razor


【解决方案1】:

Mvc modelbinder 使用输入名称来创建你的动作模型。 如果你有这样的模型:

public class myModel
{
public int? fPeriodeValid { get; set; }
}

您必须将 PART1_fPeriodeValid 更改为 fPeriodeValid

<input  id="PART1_fPeriodeValid" name="fPeriodeValid" ... />
Or
@Html.EditorFor(model => model.fPeriodeValid)

你的行为是这样的

 public ActionResult Create(myModel model){
}

【讨论】:

  • 它适用于第一个解决方案!所以真的谢谢你!我也尝试过name="@Model.fPeriodValid",但我不这么认为......
猜你喜欢
  • 1970-01-01
  • 2014-03-09
  • 2019-05-26
  • 1970-01-01
  • 2014-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
相关资源
最近更新 更多