将Javascript变量放入Razor代码中

Place Javascript Variable within Razor Code

本文关键字:Razor 代码 Javascript 变量      更新时间:2023-09-26

我有一个JavaScript函数,它将一行添加到表中,并在文本框中选择值。但是我如何将选中的值放入razor代码中呢?

var val = document.getElementById("tags").value;
var strHtml2 = '@Html.TextBoxFor(x => x.extraDoc.dr_name, new {Value="Place Val Here", @class = "input1", @readonly = true })';

不,这是不可能的,因为。net MVC是服务器端代码,在发送到客户端之前进行评估,而javascript是客户端代码,仅在客户端上运行一次。

实际上你可以做一件事你可以通过使用Id获取元素

@Html.TextBoxFor(x => x.extraDoc.dr_name, new {Value="Place Val Here", @class = "input1", @readonly = true })

Razor将为textbox生成id字段,id可能是这样的:extraDoc_dr_name(或)你可以在浏览器开发工具中找到它。

则可以使用javascript:

document.getElementById("extraDoc_dr_name").value = document.getElementById("tags").value;

试试这个:

var val = document.getElementById("tags").value;
var strHtml2 = '@Model.extraDoc.dr_name'  ;
更新:

现在我明白你要归档什么了。

不,你不能在razor代码中混合js变量。你可以将razor值传递给js变量,但不能将js变量传递给razor变量

相关文章: