2017-03-24 2 views
0

in meinem Javascript Ich versuche, eine Zeichenfolge zu erstellen, die HTML sein wird und innerhalb dieser Zeichenfolge möchte ich auch MVC Html.Action Helfer verwenden. Ich möchte dies an einige Elemente anfügen. Funktioniert gut, wenn ich die Linie @Html.Action herausnehmen. Gehe ich richtig oder mache ich das anders?jquery, um ASP.NET MVC zu rendern.Action

function Conditionalpartialview(MyParamID) { 
    var html = 
     '<br />' + 
     '<div id="SurveyQuestionConditionalLogic_' + MyParamID + '">' + 
      '<span id="SurveyLogicIDsarr_' + MyParamID + '" >' + MyParamID + '</span>' + 
     '@Html.Action("ControlerActionMethod", "Home", new { ID = MyParamID })' + 
     '</div>' 
    $("div").append(html); 
} 
+0

vielen Dank für Neuformatierung Stephen .. –

+2

Sie können nicht. '@ Html.Action()' ist ein Rasierklingen-Code und wird auf dem Server geparst, bevor er an die Ansicht gesendet wird. –

+0

Was machst du eigentlich hier? Wenn Sie das DOM aktualisieren möchten, müssen Sie mit ajax die Controller-Methode aufrufen und das DOM im Erfolgsrückruf aktualisieren. –

Antwort

0

Sie können es mit Ajax-Aufruf

function Conditionalpartialview(MyParamID) { 

var result = ''; 
$.ajax({ 
    type: "GET", 
    async: false, 
    url: "/Home/ControlerActionMethod/", 
    data: JSON.stringify({ID:MyParamID}), 
    success: function (viewHTML) { 
     result=viewHTML; 
    }, 
    error: function (errorData) { onError(errorData); } 
}); 

    var html = 
     '<br />' + 
     '<div id="SurveyQuestionConditionalLogic_' + MyParamID + '">' + 
       '<span id="SurveyLogicIDsarr_' + MyParamID + '" >' + MyParamID+ '</span>' 
     + result + '</div>' 
     $("div").append(html); 
    } 
+0

Das ist genau die Logik, nach der ich gesucht habe. Danke, ein Haufen Usman –