在MVC3 Razor视图引擎中使用javascript变量

Moh*_*ruk 31 javascript asp.net-mvc-3

可能吗?

@Html.ActionLink( "Link text", "Action Name", new { id = *JAVASCRIPT VARIABLE* })
Run Code Online (Sandbox Code Playgroud)

请用示例代码说明.

kri*_*ich 76

实际上,以下内容非常有可能:

var hello = "Great Job!";

var text = "@Html.ActionLink( "Link text", "Action Name", new { id = "JSVar" })"
text = text.replace("JSVar",hello);
Run Code Online (Sandbox Code Playgroud)

就这么简单!:)

所有的@ Html.Action链接都是创建一个url字符串,所以对它进行替换就像在任何javascript字符串上替换一样

  • 好的解决方法!只要确保替换代码是健壮的,可以采用string.Format类型方法:`var text ="@ Html.ActionLink("链接文本","操作名称",新{id ="{0}"}) ";"不确定{0}是否适用于那个助手,但是你得到了我的漂移 (5认同)
  • 我接受这个答案而不是现在接受的答案. (4认同)

Dar*_*o Z 15

不,这是不可能的,因为.NET MVC 3是服务器端代码,在被发送到客户端之前被评估,而javascript是客户端代码,只有在客户端上运行

但反过来是可能的:

var jsVar = "@yourMvcVar";
Run Code Online (Sandbox Code Playgroud)

  • 有可能通过一些工作......看到我的答案 (5认同)