Fügen Sie code in der Ansicht mit jQuery-Skript (ASP.NET MVC)
Habe ich div
meiner Ansicht
<div class="control-group" id="Phone"></div>
und ich muss hinzufügen code auf der Innenseite mit jQuery Skript.
Habe ich versucht, dieses
@section Scripts
{
<script type="text/javascript">
$("select#Role").change(function () {
if ($(this).val() == "2") {
$("div#Phone").html('<span class="control-label">* Phone:</span>
<div class="controls">
@Html.TextBoxFor(m => m.PhoneNumber)
@Html.ValidationMessageFor(m => m.PhoneNumber, null, new { @class = "text-error" })
</div>');
} else {
}
});
</script>
}
aber ich habe eine Menge Fehler.
Was ist falsch und wie zu beheben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie folgenden code
Injiziert werden Sie razor-code in HTML. Razor code-Ausführung auf server-Seite, und es werden HTML -, wenn der server rendert die Seite und sendet Sie an den browser. Also razor-code kann nicht ausgeführt werden, auf der client-Seite. Es ist nicht gültig in HTML. Javascript kann nur die client-Seite, nachdem die Seite gerendert wird, weil es ein client-seitiges script. So Einspritzen von razor-code durch javascript ist nicht sinnvoll. Was möchten Sie tun?
Es sieht aus wie Sie versuchen, erstellen eine multi-line string in JavaScript. So zu tun, ich glaube, Sie brauchen, um "escape" die neue-Zeile-Zeichen:
Werden Sie auch überprüfen wollen, wie diese server-seitigen code eigentlich macht auf dem client, um sicherzustellen, dass es ist, was Sie erwarten und noch erweist sich gültiges JavaScript (da bist du Rendern es einfach als ein string in ein JavaScript-block).