javascript - 使用 javascript 调用元素内的部分 View

标签 javascript c# jquery visual-studio-2013 partial-views

我有一个名为 ValidarLogueo 的函数,它将为普通用户返回 0,为管理员用户返回 1。我正在尝试做这样的事情,但它给了我一个错误的编译常量值错误。

<input id="Logueo" value="Login" class="btn btn-info btn-block" onclick="javascript:validarLogueo() == 0? @Url.Action('VistaViandasPersonal', 'Menu'): @Url.Action('VistaAdministrador', 'Menu')">

我现在像这样在 .js 中渲染页面,但这不是我需要的,因为 url 保留在 localHost 中,而不是 localHost/Menu

 $('body').load(url + '/Menu/VistaViandasPersonal');

我能做些什么来实现这个目标吗?提前致谢。

最佳答案

如果您手动扩展生成的代码,您将看到您正在尝试注入(inject)字符串常量,但未包含分隔引号。在 @Url.Action 调用周围添加单引号。

例如

<input id="Logueo" value="Login" class="btn btn-info btn-block" 
    onclick="javascript:validarLogueo() == 0 ? '@Url.Action('VistaViandasPersonal', 'Menu')' : '@Url.Action('VistaAdministrador', 'Menu')'">

我强烈建议您改用 jQuery 事件处理程序,并且永远不要在 jQuery 中使用内联处理程序。当您需要根站点 URL 时,可以通过母版页将其注入(inject)全局变量

<script>
   window.siteRoot = "@Url.Content("~")";
</script>

只需将其添加到 jQuery 代码中的任何 URL 前面即可。

关于javascript - 使用 javascript 调用元素内的部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31728827/

相关文章:

javascript - NodeJS 中嵌套数组的 Express URL 参数问题

c# - 将富文本框数据格式化存储到数据库

c# - 开发 Visual Studio 加载项时,除了手动测试之外,还有哪些测试选项?

jquery - 如何在一页中放置多个jquery数据表?

javascript - 某些功能在 .append 之后不起作用

javascript - 删除 jquery 所需的 attr

Javascript 文件拖放

c# - 使用 HTML Helpers 时列表模型绑定(bind)索引不正确

javascript - 如何将 [Object HTML] 解析为 HTML 字符串

c# - 母版页和 jquery 的问题