混合@ Html.Partial()的razor和java脚本代码

任何人都可以为我提供如何在MVC中动态添加一些代码到页面的解决方案。

我是这样做的,但在这段代码中,页面无法识别索引javascript变量,因为它没有识别索引javascript变量。

$(document).on('click', '.add-option', function () { var index = $("div.ques-options").size(); if (index < 5) { $('.MainContainer').append('@Html.Partial("_Options", index)') } }); 

最好使用jQuery load()或通过控件中的ajax动作调用,这种方法描述了ASP.NET MVC使用jQuery ajax渲染局部视图

正如谢尔盖·博伊科的回答中所提到的,不推荐这种方法,因为您可以使用ajax来让服务器返回局部视图。

无论如何,混合使用javascript和Razor需要您使用任何代码块包围Razor调用

@{ ... } or @if, etc.

并将代码本身放在一个转义序列中

@: or the tag

所以,知道这一点,你可以做类似的事情

  

查看混合Razor和Javascript代码以及在JavaScript中使用Razor