Asp.Net MVC Übergeben und ein Objekt aus der Url.Maßnahmen, die im Hinblick auf Steuerung
Während es scheint ähnliche Fragen ich glaube nicht, dass ich eins gefunden, wo jemand war vorbei, das gesamte Modell von view zu controller, der nächste, den ich fand, war die übergabe einer Daten-Wert im Modell auf dem controller... das ist nicht das, was ich tun will...
Möchte ich weitergeben das model-Objekt an die geltenden controller das Ergebnis einer Aktion als parameter
und tun, was ich will zu tun mit den Daten im model-Objekt aus dem controller...
code abgekürzt...
in der Ansicht ich bin mit Url.Action(string, string, object) übergeben werden, die controller-Methode den Namen und die route, um es als 2. parameter, und die gesamte Modell-Objekt als 3. parameter...
meine Dritte parameter ist das problem, die Url.Action(string, string) über load funktioniert gut mit den gleichen Werten, so habe ich keine problem bekommen, um die controller-action wird die Methode, mit der Werte, die ich verwende...
anzeigen-code snippet...
$('#ControllerActionResult').click(function (e) {
window.location = '<%: Url.Action("ControllerActionResult", TheRoute, new { pModel = Model } ) %>';
});
controller-code-snippet...
public ActionResult ControllerActionResult(object pModel)
{
}
Mein Fehler "CS1502: Die beste übereinstimmung für die überladene Methode 'System.Web.Mvc.UrlHelper.Action(string, string, object)' hat einige ungültige Argumente" und das Fenster location-Zeile ist hervorgehoben...
Übersehe ich etwas offensichtliches?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass Sie das tun können. Url versucht, um eine url zu erstellen, rufen Sie die action-Methode direkt. Übergeben Sie die einzelnen Schlüssel-Wert-Paare über das anonyme Objekt, das die Url kann dann zum erstellen der Verknüpfung. Modell-Bindung sorgen können, indem Sie den /die Schlüssel-Wert-Paare in die eingehende Modell für Sie.
Außerdem ist TheRoute eine Zeichenfolge sowie?
Wenn Sie brauchen eine Url, die Sie haben nicht viele alternativen. Entweder übergeben Sie alle Werte an das Modell neu aufbauen, oder geben Sie einfach ein Schlüssel-Wert zurückgegeben das Modell aus der Datenbank wieder (oder vielleicht Sitzung /viewdata /tempdata, wenn Sie mit diesem).
RouteValueDictionary
.Url.Action(string, string)
. Wahrscheinlich(string, object)
Möglicherweise gibt es mehrere Probleme in Ihrem code. Aber ich werde beantworten, was Sie wissen wollen, wie das senden von Daten an controller von js. Müssen Sie zuerst senden "Modell" im json-format, eventuell mit jquery.ajax. Zum Beispiel,
In den controller, Sie haben eine definierte Klasse für den "Modell" - und das soll werden die parameter des Controllers.
Ansonsten MVC nicht finden können, eine passende Steuerung zu nennen.
versuchen Sie es mit folgenden code klappt es bei mir
Javascript:
Controller:
hoffe, das funktioniert für Sie.