razor ActionLink 中的 Javascript 变量 [英] Javascript variable in razor ActionLink

查看:28
本文介绍了razor ActionLink 中的 Javascript 变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

var boxIdValue = 233;
var result = title + '<br/>@Html.ActionLink("Detail", "Show", "Boxes", new{boxId=233}, null)';

当我对 boxId 进行硬编码时,它就可以工作了.但是当我写:

When I hardcode boxId then it works. But when I write:

var result = title + '<br/>@Html.ActionLink("Detail", "Show", "Boxes", new{boxId=boxIdValue}, null)';

它没有.是否可以以这种方式混合使用 javascript var 和 razor?

It doesn't. Is it possible to mix javascript var and razor in this way?

推荐答案

看看 这个相关的堆栈溢出问题.

这是一个挑战的原因是 Razor 方法在渲染时在 Web 服务器上执行,而 javascript 在运行时在客户端浏览器上执行.

The reason why this is a challenge is that the Razor method executes on the web server at render time while the javascript executes on the client browser at runtime.

我会通过做类似的事情来解决这个问题

I would solve this by doing something like

var boxIdValue = 233;
var link = '@Html.ActionLink("Detail", "Show", "Boxes", new{boxId=-1}, null)'
link = link.replace('-1', boxIdValue);
var result = title + '<br />' + link;

这篇关于razor ActionLink 中的 Javascript 变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆