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()