C# .NET MVC AJAX操作方法多次激发
此操作方法渲染嵌入到另一个视图中的局部视图C# .NET MVC AJAX操作方法多次激发,c#,asp.net-mvc-4,asp.net-ajax,C#,Asp.net Mvc 4,Asp.net Ajax,此操作方法渲染嵌入到另一个视图中的局部视图 public ViewResult List(int page = 1) { int totalComments; ProductListViewModel prodViewModel = new ProductListViewModel { CommentsPaginated = repository.CommentsPaginated(page, PageSize, o
public ViewResult List(int page = 1)
{
int totalComments;
ProductListViewModel prodViewModel = new ProductListViewModel
{
CommentsPaginated = repository.CommentsPaginated(page, PageSize, out totalComments),
PagingInfo = new PagingInfo
{
CurrentPage = page,
ItemsPerPage = PageSize,
TotalItems = totalComments
}
};
ViewBag.Page = page;
return View(prodViewModel);
}
列表视图:
@model ProductWindow.WebUI.Models.ProductListViewModel
@{
ViewBag.Title = "List";
}
<br />
<h2>List Products</h2>
@foreach (var m in Model.CommentsPaginated)
{
<div class="item">
@m.NR, @m.TXT, @m.ENABLED
</div>
}
@model-ProductWindow.WebUI.Models.ProductListViewModel
@{
ViewBag.Title=“列表”;
}
列出产品
@foreach(模型中的var m.CommentsPaginated)
{
@m、 NR,@m.TXT,@m.ENABLED
}
封闭索引视图:
@model string
@{
ViewBag.Title = "Index";
AjaxOptions ajaxOpts = new AjaxOptions
{
UpdateTargetId = "commentsData"
};
}
<h2>Index</h2>
Static part of the page.
<h2>Index page</h2>
@using (Ajax.BeginForm("List", ajaxOpts)) {
<div id="commentsData">
@Html.Action("List", new {page = Model});
</div>
<input type="hidden" name="page" value="3" />
<input type="submit" value="Submit" /> <!-- I use Ajax.ActionLink here, but it acts the same -->
}
@模型字符串
@{
ViewBag.Title=“Index”;
AjaxOptions ajaxOpts=新的AjaxOptions
{
UpdateTargetId=“commentsData”
};
}
指数
页面的静态部分。
索引页
@使用(Ajax.BeginForm(“List”,ajaxOpts)){
@Action(“List”,new{page=Model});
}
问题:
每当我单击Submit时,List
action方法就会被触发越来越多次(1、2、4、8、16…)。
知道为什么吗?解决了这个问题。
将列表
返回值更改为PartialViewResult
,并在同一函数末尾调用PartialView()