jquery - 无法在 jQuery 中调用 @Html.Action()

标签 jquery asp.net asp.net-mvc razor asp.net-mvc-5

我正在尝试将 html 从我的部分 View 之一获取到主视图中 ID 为“searchpage”的 div 标签中。但是,当我遵循此答案中的语法时, How to append an Html.Action to the jquery ,我在 chrome 开发者工具中收到错误,

Uncaught SyntaxError: Invalid or unexpected token

代码是

$("#searchbutton").click(function () {
    $("#searchpage").html('@Html.Action("Search", "Employees")');
});

该错误在 (' 处特别突出显示。

最佳答案

我建议使用 Ajax 调用并加载响应:

$("#searchbutton").click(function () {

    var url = '@Url.Action("Search", "Employees")';

    $.get(url)
        .done(function(response, status, jqxhr){
            $("#searchpage").html(response);
        });
});

如果您要加载静态表单,请将其加载到模板脚本中并根据需要进行复制:

<script type="text/template" id="search-template">
    @Html.Action("Search", "Employees")
</script>

脚本中的某个位置:

$("#searchbutton").click(function () {

    var template = $('#search-template').clone().html();

    $("#searchpage").html(template);
});

我假设您看到的错误是因为您的 HTML 已格式化,因此您认为正在构建的“字符串”实际上在生成的标记中无效 - 它会有换行符,这是一个问题JavaScript 字符串。

关于jquery - 无法在 jQuery 中调用 @Html.Action(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44443838/

相关文章:

asp.net - cloudflare下如何配置nginx支持signalr3?

asp.net - Nlog 数据库目标 - 是否使用 keepConnection?

c# - System.Convert 不包含 "toString"的定义

php - DataTable 从行中获取修改后的数据

javascript - css vertical-align for span inside div have height auto

jquery - 更改 jQuery 对话框窗口位置

c# - 我可以用 "HostingEnvironment"来判断是Web还是Win

c# - 如何在 _Layout.cshtml 中检索身份声明值

javascript - 如何在 css 选择器 :before 上应用 jQuery

javascript - $.ajaxComplete 和 $.ajaxError 的正确用法?