簡體   English   中英

將部分視圖加載到div中

[英]Load partial view into div

我正在嘗試將部分視圖從調用視圖加載到div中,但是部分視圖會加載到新頁面中。 沒有太多的代碼,我已經嘗試了其他帖子的各種方式,但它仍然加載到一個新的頁面。 所以我想我可能會遺漏一些基本的東西。

調節器

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index()
{
    return View();
}

public ActionResult Test()
{
    return PartialView("Test");
}

視圖

<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>

@using (Ajax.BeginForm("Test", "Home", new AjaxOptions { InsertionMode=InsertionMode.Replace, UpdateTargetId = "mydiv" }))
{    
    @Ajax.ActionLink("Save", "Test", "Home", new AjaxOptions{ });
}

<div id="mydiv">
    @Html.Partial("Test")
</div>

PartialView

<h1>Test</h1>

關於您的代碼的幾點評論:

  • ASP.NET MVC 3 RC2中的Ajax.*幫助程序不再使用已棄用的MS AJAX而不支持jQuery,因此您的腳本包含錯誤。 你需要包含jquery
  • 你有一個沒有提交按鈕的ajax表單和這個表單中的ajax鏈接。 這毫無意義。 使用ajax表單或ajax鏈接。

因此,您的代碼可能看起來像行中的一些:

<script src="@Url.Content("~/scripts/jquery-1.4.4.js")" type="text/javascript"></script>

@Ajax.ActionLink("Save", "Test", "Home", new AjaxOptions { 
    InsertionMode = InsertionMode.Replace, 
    UpdateTargetId = "mydiv"
})

<div id="mydiv">
    @Html.Partial("Test")
</div>

將此行添加到您的頁面(母版頁或布局)

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

就在MicrosoftMvcAjax.js之后。

我認為你應該使用<input type="submit" />而不是@Ajax.Actionlink(...)

在MVC4中,您可以在@Scripts.Render("~/bundles/jquery")之后添加bundle @Scripts.Render("~/bundles/jqueryval") ,或者在頁面視圖的腳本部分添加腳本引用,如下所示:

@section scripts
    {
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

    }

祝好運。

你的部分需要在ajax形式內

暫無
暫無

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

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