Ajax.BeginForm在MVC中刷新整个页面

我一直在尝试向我的mvc网站添加一些Ajaxfunction,但是,我遇到了有关页面刷新的问题。 我在主页侧边栏上创建了一个rss视图,允许用户使用下拉列表选择要查看的RSS源。 最初我在mvc中使用了html.begin表单选项,但是,我认为让rss进纸器刷新是一个很酷的function,而不是让整个页面刷新。 我实现了ajax.begin表单,但整个页面仍然令人耳目一新。

这是我视图中的代码:

RSS Feed

@using (Ajax.BeginForm("Index", "Home", new AjaxOptions { HttpMethod = "post", UpdateTargetId = "feedList" })) { @Html.DropDownListFor(x => x.SelectedFeedOption, Model.FeedOptions) }
@foreach (var feed in Model.Articles) {

@feed.Title

@feed.Body

Posted @DateTime.Now.Subtract(@feed.PublishDate).Hours hour ago

}

当用户从下拉菜单中选择Feed类型并单击提交按钮时,Feed应更新为所选选项。

在_Layout视图中加载以下包:

 @Scripts.Render("~/bundles/jquery") 

任何帮助都会很棒。

我在jquery中使用ajax调用

 $('#SelectedFeedOption').change(function() { $.ajax({ url: "@(Url.Action("Action", "Controller"))", type: "POST", cache: false, async: true, data: { data: $('#SelectedFeedOption').val() }, success: function (result) { $(".feedList").html(result); } }); }); 

然后将feedList div的内容放在局部视图和控制器上

 public PartialViewResult FeedList(string data){ Model model = (get search result); return PartialView("_feedList", model); } 

希望这会有所帮助。

您是否尝试将InsertionMode成员初始化为AjaxOptions对象初始化程序?

您还必须包含’jquery.unobtrusive-ajax.js’以使Ajax.BeginForm在此处得到解答

  @using (Ajax.BeginForm("Index", "Home", null, new AjaxOptions { HttpMethod = "post", InsertionMode = InsertionMode.Replace, UpdateTargetId = "feedList" }); { @Html.DropDownListFor(x => x.SelectedFeedOption, Model.FeedOptions)  }