【问题标题】:Updating DisplayFor Date with AJAX Result使用 AJAX 结果更新 DisplayFor 日期
【发布时间】:2016-10-18 07:04:56
【问题描述】:

在视图中,有一个 DisplayFor 与模型中的 DateTime 字段相关联。要更新该字段,AJAX 调用会返回一个日期。我可以将 AJAX 日期转换为 MM/DD/YYYY 值,但使用 .val 设置 DisplayFor 不会更新视图。 Chrome 开发者工具没有显示错误,实际上显示了正确的转换日期时间,但 DisplayFor 没有更新。我没有尝试更改 .attr 而不是 .val 因为看起来 .val 将是正确的选择。谁能看到为什么视图没有更新?提前致谢!

模型声明:

DateTime? SaleDate { get; set; }

在视图中显示:

@Html.LabelFor(m => m.SaleDate, "Sale Date")
@Html.DisplayFor(m => m.SaleDate, "{0:d}", new { @class = "form-control" })

在成功的 AJAX 调用中更新脚本:

success: function (data) {
    var $sDate = $("#SaleDate");
    var pattern = /Date\(([^)]+)\)/;
    var results = pattern.exec(data[0].SaleDate);
    var dt = new Date(parseFloat(results[1]));
    $sDate.val(dt); //dt is correct Date, but DisplayFor isn't updating!
}

编辑

页面来源表明id正确,但是没有输入。我认为这是因为 DisplayFor 与 TextBoxFor,但明显没有 id 可能是问题所在吗?

<label for="SaleDate">Sale Date</label>
6/1/2016 12:00:00 AM//no input section, just the DateTime value

或者,如果 SaleDate 为空:

<label for="SaleDate">Sale Date</label>
//no value or input section

【问题讨论】:

  • 这是 ruby​​ on rails 吗?
  • 不,在模型和控制器端是 C#,在视图端是 Bootstrap。
  • 在浏览器中检查您生成的 HTML 代码,确保您的 DisplayFor 输入具有 id SaleDate
  • @AlexKudryashev - 本身没有输入部分,但 for 的标签表示没有输入部分或 ID。感谢您的回复,我将编辑问题以包含此信息。
  • 你的 JS $("#SaleDate") 需要一个带有 id="SaleDate" 的元素。 $sDate.val(dt) 期望该元素是输入类型(inputselecttextarea)。 JS 现在有了关于 Razor 标记的想法。 &lt;label for="..."... 可以指向任何存在或不存在的东西。

标签: javascript jquery ajax datetime asp.net-mvc-5


【解决方案1】:

视图中的 Razor 代码会生成一些 HTML 代码。 Javascript 在客户端工作,不知道 Razor 的 @Html.DisplayFor,只知道它的输出。我不擅长 Razor,所以我的报价可能包含错误。
1.@Html.TextBoxFor(m =&gt; m.SaleDate, "{0:d}", new { @class = "form-control", id = "SaleDate" }).
JS 保持不变。缺点:这是可编辑的文本框(输入)
2.&lt;span id="SaleDate" class="form-control"&gt;@Html.DisplayFor(m =&gt; m.SaleDate, "{0:d}")&lt;/span&gt;
JS最后一行应该是$sDate.html(dt);

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 2014-04-25
    • 2014-04-03
    • 2020-03-05
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    相关资源
    最近更新 更多