当前位置: 代码迷 >> JavaScript >> 使用javascript调用元素内部的部分视图
  详细解决方案

使用javascript调用元素内部的部分视图

热度:67   发布时间:2023-06-05 11:46:36.0

我有一个称为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');

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

如果您手动扩展生成的代码,将会看到您正在尝试注入字符串常量 ,但没有包括定界引号。 在@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时,母版页可以将其注入到全局变量中

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

并将其简单地添加到jQuery代码中的所有URL之前。

  相关解决方案