我们可以将Javascript变量的值赋给Razor语法变量吗?



我们可以给Razor语法变量赋Javascript变量值吗?

  var Javascript-variable=$("#test").val();
  @html.Actionlink("User","Index",new {Id='Javascript-variable'})

我们可以传递Java脚本变量值给Razor语法变量吗?

不,因为在这个上下文中使用的JavaScript是在客户端执行的,而Razor代码是在服务器端执行的。实际上,它们没有关系。

但是我认为您想要在JavaScript中使用服务器上提供的路由功能,这是可能的。我们可以使用Razor来生成JavaScript。

  • ActionLink()调用嵌入到JavaScript片段中。
  • 在服务器端呈现URL结构,使用ActionLink()方法,该方法是路由感知的。
  • 在客户端获取一个值
  • 在URL结构中插入值
一种方法是用占位符值呈现链接,稍后使用JavaScript替换。
var url = '@Html.ActionLink("User","Index",new { Id = 0 })'; 
var id = $("#test").val();
var mergedUrl = url.replace(/0$/, id); // replace the 0 with a real ID

最新更新