我们可以将Javascript变量值分配给Razor语法变量吗?

时间:2014-05-22 08:51:45

标签: asp.net-mvc

我们可以将Javascript变量值分配给Razor语法变量吗?

等。

  var Javascript-variable=$("#test").val();

  @html.Actionlink("User","Index",new {Id='Javascript-variable'})

1 个答案:

答案 0 :(得分:2)

  

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

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

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

  • ActionLink()电话嵌入JavaScript代码段。
  • 使用路由感知的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