Teilansicht Mit ChildActionOnly Attribut Problem
Ich habe partial view der von jquery und ich möchte, um die Ansicht zu aktualisieren mithilfe von jquery. Hier ist, was mein code aussieht.
<div id="left">
<input type="button" id="refresh" value="refresh" />
@Html.Partial("_LeftColumn", new ColumnViewModel { Attempt= DateTime.Now })
</div>
<script type="text/javascript">
$('#refresh').click(function () {
$.ajax({
type: "post",
dataType: "html",
url: 'Home/LeftColumnData',
data: {},
success: function (response) {
$('#left').html(response);
}
});
});
</script>
und in action ich schrieb, wie dies
[ChildActionOnly]
public PartialViewResult LeftColumnData()
{
var Column= new ColumnViewModel { Attempt= DateTime.Now };
return PartialView("_LeftColumn", Column);
}
Ich nicht wollen, dass Nutzer auf Wunsch ColumnData direkt aus dem browser außer über ajax, aber mit diesem Ansatz bin ich immer die Fehlermeldung unten.
Was sollte ich tun, um zu entfernen ChildActionOnly Attribut und erlauben auf Anfrage direkt?
Was sind die alternativen zu diesem problem?
InformationsquelleAutor Gayan | 2011-09-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie
AjaxOnly
hier ist, wie können Sie machen eine
und verwenden Sie es wie
völlig unvollständige Antwort -1
gut sehen die änderungen
OK, das ist was ich brauche, danke für die Antwort.
InformationsquelleAutor Rafay
Wenn Sie beabsichtigen, auf diese Aktion zugreifen, direkt, müssen Sie entfernen die
[ChildActionOnly]
Attribut:Auch von dem, was ich sehen kann, Sie sind nirgends mit dieser Aktion wie ein Kind handeln. Alles, was Sie tun, ist zu machen einige teilweise:
Diese nicht aufrufen, Ihr Kind Aktion. Es fügt einfach nur die
_LeftColumn.cshtml
teilweise in der gegebenen Lage.Kind-Aktion aufgerufen, mit der Html.Action-oder Html-Format.RenderAction Helfer:
Sondern weil Sie wollen, dass diese Aktion auch erreichbar, kann ein AJAX call entfernen Sie die ChildActionOnly Attribut.
Lesen Sie mehr über die Unterschiede zwischen RenderPartial und RenderAction auf die folgenden blog-post.
InformationsquelleAutor Darin Dimitrov
Es ist ein [AjaxOnly] Attribut in der ASP.NET MVC-3 Futures Sammlung. Es ist ein Teil des offiziellen ASP.NET MVC Codeplex Website, die Funktionen bietet, bevor Sie offiziell in einer künftigen version von ASP.NET MVC.
Können Sie es herunterladen hier. Um es zu verwenden, fügen Sie einen Verweis auf die Microsoft.Web.Mvc Montage im release-Paket.
Gibt es eine Erklärung des Attributs auf diese Seite.
InformationsquelleAutor Xcalibur