在ASP标记中使用从Javascript派生的变量

在ASP标记中使用从Javascript派生的变量,javascript,asp.net,Javascript,Asp.net,我很难在ASP标记中使用从Javascript派生的变量 <script language="javascript"> if (arg) { var text_box_to_fill = arg.sendValue_Code; document.getElementById( document.getElementById("<%= "+text_box_to_fill+".clientID

我很难在ASP标记中使用从Javascript派生的变量

<script language="javascript"> 
    if (arg) 
    {
        var text_box_to_fill = arg.sendValue_Code;                  
        document.getElementById( document.getElementById("<%= "+text_box_to_fill+".clientID %>").value = selected_libelle_value;
    }
</script>

如果(arg)
{
var text\u box\u to\u fill=arg.sendValue\u代码;
document.getElementById(document.getElementById(“”).value=selected\u libelle\u value;
}

有什么建议吗?

不确定为什么会有重复的“document.getElementById”代码引用,但您只能以这种方式从服务器转到客户端。因此:

<script language="javascript"> 
    if (arg) 
    {
        var text_box_to_fill = arg.sendValue_Code;                  
        document.getElementById("<%= text_box_to_fill.ClientID %>").value = selected_libelle_value;
    }
</script>

如果(arg)
{
var text\u box\u to\u fill=arg.sendValue\u代码;
document.getElementById(“”).value=selected\u libelle\u value;
}

编辑:请注意,脚本必须与“文本框”的原点位于同一页面或控件中。如果页面中有此脚本,且文本框位于用户控件中,则无法使用。

要填充的文本框是在浏览器的客户端定义的,而标记是在服务器上计算的。不可能从服务器代码引用javascript变量。

您只能将服务器上的某些内容呈现到cl中客户端,但不能反向。编译器错误消息:BC30451:Name'text\u box\u to\u fill'未声明。这是我的编译器发送回我的消息,您必须使用服务器端控件的ID。textbox的ID是什么?上面也对响应进行了编辑。我终于找到了一种方法。这是我所在的textbox的ID“var text\u box\u to\u fill”所以我直接在javascript中使用它,比如:document.getElementById(text\u box\u to\u fill).value=selected\u libelle\u value;它可以工作。谢谢你的帮助我一直痴迷于使用服务器标签!现在没问题了。微笑吧。我注意到@andy Magee!但是没有其他方法来修复它吗?