任何人都可以为我提供如何在MVC中向页面动态添加一些代码的解决方案。
我这样做但是在这段代码中,页面无法识别索引javascript变量,因为它没有识别索引javascript变量。
$(document).on('click', '.add-option', function () {
var index = $("div.ques-options").size();
if (index < 5) {
$('.MainContainer').append('@Html.Partial("_Options", index)')
}
});
答案 0 :(得分:2)
最好使用jQuery load()或通过控制器中的ajax动作调用,这种方法在那里描述ASP.NET MVC rendering partial view with jQuery ajax
答案 1 :(得分:2)
正如谢尔盖·博伊科的回答中所提到的,不推荐使用这种方法,因为您可以使用ajax来让服务器返回局部视图。
无论如何,混合javascript和Razor要求你用任何代码块包围Razor调用
@{ ... } or @if, etc.
并将代码本身放在转义序列中
@: or the <text> tag
。
所以,知道这一点,你可以做类似
的事情<script>
var partialView = '';
@{
<text>
partialView = '@Html.Partial("_Options", index)';
</text>
}
$(document).on('click', '.add-option', function () {
var index = $("div.ques-options").size();
if (index < 5) {
$('.MainContainer').append(partialView)
}});
</script>
退房 Mix Razor and Javascript code 和Using Razor within JavaScript