簡體   English   中英

Ajax.BeginForm在MVC中刷新整個頁面

[英]Ajax.BeginForm refreshing the whole page in MVC

我一直在嘗試向我的mvc網站添加一些Ajax功能,但是,我遇到了有關頁面刷新的問題。 我在主頁側邊欄上創建了一個rss視圖,該視圖允許用戶使用下拉列表選擇他們要查看的rss feed。 最初,我在mvc中使用html.begin form選項,但是,我認為刷新rss feeder而不是刷新整個頁面將是一個很酷的功能。 我實現了ajax.begin表單,但整個頁面仍然令人耳目一新。

這是我視圖中的代碼:

<div class="rss_feed">
    <h3>RSS Feed</h3>

    @using (Ajax.BeginForm("Index", "Home",
        new AjaxOptions
        {
            HttpMethod = "post",
            UpdateTargetId = "feedList"
        }))
    {
        @Html.DropDownListFor(x => x.SelectedFeedOption, Model.FeedOptions)
        <input type="submit" value="Submit" /> 
    }

    <div id="feedList">
        @foreach (var feed in Model.Articles)
        {
            <div class="feed">
                <h3><a href="@feed.Url">@feed.Title</a></h3>
                <p>@feed.Body</p>
                <p><i>Posted @DateTime.Now.Subtract(@feed.PublishDate).Hours hour ago</i></p>
            </div>   
        }
    </div>
</div>

當用戶從下拉菜單中選擇一種供稿類型並單擊“提交”按鈕時,該供稿應更新為所選選項。

在_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)
    <input type="submit" value="Submit" /> 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM