【问题标题】:how to access c# variable inside javascript through EvaluateScriptAsync?如何通过 EvaluateScriptAsync 访问 javascript 中的 c# 变量?
【发布时间】:2017-06-20 18:03:01
【问题描述】:

我有一个 c# 变量,

    double amt = 12;

我有一段 Javascript 代码

    browser1.EvaluateScriptAsync("var x='<% =amt %>';document.querySelector('.amount').value=x;");

用 修改元素的值。我想要的是传递实际的 c# 变量值'12'。

当我这样做时

browser1.EvaluateScriptAsync("document.querySelector('.amount').value='12';");

它为元素的值提供“12”。

现在如何让元素显示 c# 变量所取的值?

【问题讨论】:

标签: javascript c#


【解决方案1】:

我认为您可以使用不同的方式。生成一个样式可见的标签元素:false。并且可以获取元素值。

像这样:

 <asp:Label ID="lblHidden" runat="server"  Visible="false"></asp:Label>

 lblHidden.Text = "12";

和js

var myValue=$('#<% =lblHidden.ClientID %>').val();
browser1.EvaluateScriptAsync("var x=myValue;document.querySelector('.amount').value=x;");

【讨论】:

  • 它在一个解决方案项目中。这是行不通的。在 OP 中,我想传递 c# 变量 double amt;进入 browser1.EvaluateScriptAsync() 部分。有什么帮助吗?
【解决方案2】:

//directly insert the c# variable with "+"
browser1.EvaluateScriptAsync("document.querySelector('.amount').value='"+c#variable+"';");

我发现c#变量可以像上面的代码一样直接插入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    相关资源
    最近更新 更多