gpt4 book ai didi

asp.net-mvc - 使用 AJAX.BeginForm 时 ASP.NET MVC jQueryUI 日期选择器不工作

转载 作者:行者123 更新时间:2023-12-02 08:07:21 26 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 部分 View ,其中包含一个 Html.TextBox,该文本框配置为使用 JQueryUI 中的日期选择器。这是通过确保样式设置为 .datepicker 来完成的。这一切都运行良好。不过,我已将表单更改为 Ajax.BeginForm 并包含一个 Ajax.ActionLink,单击链接后会显示它。添加此后,日期选择器不会显示。事实上,从 Controller 返回部分 View 后,现在甚至不再调用以前有效的 JavaScript。即使我将 JavaScript/JQuery 放入局部 View 本身,它仍然不使用它。我真的很困惑,有人可以帮忙吗?

示例如下

<div id="claims">
<div id="divViewClaims">
<% Html.RenderPartial("ViewClaim", Model.Claims ?? null); %>
</div>
<br /><br />
<div id="claim">
<% Html.RenderPartial("AddEditClaim", new Claim()); %>
</div>
</div>

操作链接,当 clickon 调用 Controller 操作返回 PartialView 时,在 OnSuccess 上调用的 JavaScript 会触发,但不会触发之前由 document.ready 函数连接的其他内容。我的所有脚本都位于单独的文件中,并在母版页中引用。

<%= Ajax.ActionLink(string.Format("Add A{0} Claim", Model.Count > 0 ? "nother" : string.Empty), "AddClaim", "Driver", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "claim", OnSuccess="showAddClaim" }, new { @class = "ControlLink" })%>

Controller 操作

public ActionResult AddClaim()
{
return PartialView("AddEditClaim", new Claim());
}

部分 View ,显示样式设置为日期选择器的文本框

<% var ajaxOptions = new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divViewClaims", InsertionMode = InsertionMode.Replace, OnSuccess="hideAddClaim" }; %>
<% using (Ajax.BeginForm("AddEditClaim", "Claim", ajaxOptions, new { @name = "ClaimControl", @id = "ClaimControl" }))
{ %>

<fieldset>
<legend><%= Model.Id==0?"Add":"Edit" %> Claim</legend>
<p>
<label for="Title">Claim Date</label>
<%= Html.TextBox("Date", Model.Date.ToString().TrimEnd('0', ':', ' ') ?? "", new { @class = "datepicker" })%>
</p>

非常感谢您对此提供的任何帮助。

最佳答案

如果该元素是在 document.ready 之后创建的,则应将该元素重新与 jQuery 匹配。

查看jQuery Live

关于asp.net-mvc - 使用 AJAX.BeginForm 时 ASP.NET MVC jQueryUI 日期选择器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686595/

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