当前位置: 首页 > 知识库问答 >
问题:

在MVC5 url.content()中放入一个JS变量

宋英杰
2023-03-14

我想将URL放入@URL.content(“”)中。

我允许用户在我的门户中选择他们的主页(只要他们在主页上显示任何不必要的内容),并且我将这个值放在我的user表的一列中。

只要此列为空,我就会显示一个模式来选择它的主页。因此,一旦连接返回“success”,我就会重定向到正确的页面,但我无法在@url.content(HERE)中传递具有列中值的变量(例如:/home/index)。

下面是我的代码:

IdentificationSucces = function(data) {
  if (@Session["SpAccueilDefaut"]) {
    var url = @Session["SpAccueilDefaut"].ToString();
    window.location.href = '@Url.Action("" + url +"")';
  } else {
    window.location.href = '@Url.Content("~/Intranet/Index")';
  }
};

我的url变量出错,这是一条消息:

名称“url”在当前上下文中不存在

共有1个答案

邓昀
2023-03-14

您将在客户端的JS中定义URLurl.action()调用发生在服务器端。两者不能以您尝试的方式直接交互。

这种情况下的解决办法是直接向url.action()提供session[“spaccueildefaut”]值,因为它们都在服务器端。

此外,如果session[“spaccueildefaut”]中的值是一个字符串(从后面使用它的上下文中看来是这样的),那么您需要在JSif条件中使用引号对其进行分隔:

IdentificationSucces = function(data) {
  if ('@Session["SpAccueilDefaut"]') {
    window.location.href = '@Url.Action(Session["SpAccueilDefaut"].ToString())';
  } else {
    window.location.href = '@Url.Content("~/Intranet/Index")';
  }
};

另外,我建议您研究一下客户端和服务器端编程之间的区别。理解这一点对于开发基于web的技术至关重要:客户端编程和服务器端编程之间有什么区别?

 类似资料:
  • 我们想在json响应中添加一些变量,但是内部方面。 我们有以下方面: 我们需要做一些类似于在这个函数中所做的事情,但不是请求,而是响应。 我们想要注入方面的方法是:

  • 我在Kubernetes集群中有一个服务和RabbitMQ。我想做的是,我希望服务的不同实例(或副本)在启动时声明一个全新的队列。这些队列将绑定到同一个exchange。 我可以在这里放一个最后的变量吗: 本质上,我只需要一种方法,用生成的名称创建一个队列,然后使用@RabbitListener侦听这个队列。

  • 当我在类中声明/初始化变量时(setter和getter)。如何从另一个类更改此值

  • 问题内容: 我有这样的代码 在这里,第一个回显是在“之后”,而第二个是在“之前”。如何在“之后”进行第二次回显打印。我认为是因为购买烟斗,我不知道该如何解决。 感谢您的解决方案… 答案编辑: 我更正了它,并且效果很好。感谢eugene的有用回答 问题答案: 出现这种现象的原因是,循环是管道的一部分时,在子外壳中运行。对于上面的循环,将创建一个具有其自己的变量副本的新子外壳。 请参阅本文以获取可能的

  • 问题内容: 我想将JavaScript变量添加到php echo中 谢谢 问题答案: 你不能 PHP在服务器上运行,并输出一些文本。 文本发送到浏览器 浏览器将文本解释为HTML / JavaScript / etc 在执行JavaScript时,PHP已完成运行。 如果要传回数据,则需要发出 新的 HTTP请求并从头开​​始运行PHP脚本。

  • 我有一个名为LoginFrame的类,它必须显示一个包含登录表单的JFrame对象: abstrac类SingleFrameApplication自动为我提供JFrame对象,我在该对象上设置了一些属性(维度和标题)。 然后尝试添加两个JLabel对象,分别显示字符串“username:”和“password:** TNX 安德里亚