gpt4 book ai didi

c# - Ajax.BeginForm 部分 View 替换整个页面

转载 作者:行者123 更新时间:2023-11-30 17:48:08 26 4
gpt4 key购买 nike

我的 MVC 应用程序有一些问题,当我使用按钮(提交)时一切正常,但是如果我使用 onchange,在同一窗口中打开的部分 View 不会替换任何 div,我使用所有我在这里看到的方法,但没有任何帮助,这里是所有代码(任何都不能正常工作)。为什么会这样?

Controller :

public class HomeController : Controller
{
public ActionResult Index()
{
List<string> Year = new List<string>();
Year.Add("1");
Year.Add("2");
Year.Add("3");
Year.Add("4");
ViewBag.Years = new SelectList(Year);
return View();
}
public PartialViewResult testt()
{
return PartialView();
}
[HttpPost]
public PartialViewResult testTwo()
{
return PartialView();
}
}

查看(我在我的页面上包括了所有不显眼的 ajax、microsoft ajax、jquery 和许多其他脚本):

<script src="~/Scripts/respond.min.js"></script>
<script src="~/Scripts/_references.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/jquery-1.10.2.intellisense.js"></script>
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="~/Scripts/jquery.validate-vsdoc.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/Scripts/MicrosoftAjax.debug.js"></script>
<script src="~/Scripts/MicrosoftAjax.js"></script>
<script src="~/Scripts/MicrosoftMvcAjax.js"></script>
<script src="~/Scripts/MicrosoftMvcValidation.js"></script>
<script src="~/Scripts/modernizr-2.6.2.js"></script>
<script src="~/Scripts/respond.js"></script>
@using (Ajax.BeginForm("testt", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "testDiv", InsertionMode = InsertionMode.Replace }))

{
<div>
<div >
@Html.DropDownList("UnitsNames", (SelectList)ViewBag.Years, new { onchange = "$(this.form).onsubmit()" })
</div>
<div >
@Html.DropDownList("Years", (SelectList)ViewBag.Years, new { onchange = "$(this.form).submit()" })
</div>
<div>
@Html.DropDownList("Years", (SelectList)ViewBag.Years, new { onchange = "this.form.submit()" })
</div>
<div>
@Html.DropDownList("Years", (SelectList)ViewBag.Years, new { onchange = "this.form.onsubmit()" })
</div>
</div>
}

@using (Ajax.BeginForm("testTwo", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "testDiv", InsertionMode = InsertionMode.Replace }))

{
<div>
<div>
@Html.DropDownList("Years", (SelectList)ViewBag.Years, new { onchange = "$(this.form).onsubmit()" })
</div>
<div>
@Html.DropDownList("Years", (SelectList)ViewBag.Years, new { onchange = "$(this.form).submit()" })
</div>
<div>
@Html.DropDownList("Years", (SelectList)ViewBag.Years, new { onchange = "this.form.submit()" })
</div>
<div>
@Html.DropDownList("Years", (SelectList)ViewBag.Years, new { onchange = "this.form.onsubmit()" })
</div>
</div>
}

<br>
<div id="testDiv">
<h4>here i need a partial view</h4>
</div>

谢谢!

最佳答案

你必须包括

@section scripts {
@Scripts.Render("~/bundles/jqueryval")
}

这在你的页面中,否则它不会工作。像这样尝试,而不是使用脚本标签。

关于c# - Ajax.BeginForm 部分 View 替换整个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23538715/

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