Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#代码隐藏变量中分配Javascript返回值_C#_Asp.net - Fatal编程技术网

如何在c#代码隐藏变量中分配Javascript返回值

如何在c#代码隐藏变量中分配Javascript返回值,c#,asp.net,C#,Asp.net,如何在页面加载时将javascript返回值分配给c#code behind变量。我正在努力做到这一点。请参见下面的示例。我想要这样的精确结果 注意:我已经发布了一个类似这样的问题,但这没有什么意义 Javascript: <script> function GetValue() { return 10; } </script> C#.NET protected void Page_Load(object sender, EventArgs e) { int Data

如何在页面加载时将javascript返回值分配给c#code behind变量。我正在努力做到这一点。请参见下面的示例。我想要这样的精确结果

注意:我已经发布了一个类似这样的问题,但这没有什么意义

Javascript:
<script>
function GetValue() {
return 10;
}
</script>

C#.NET

protected void Page_Load(object sender, EventArgs e)
{
int Data
ClientScript.RegisterStartupScript(this.GetType(), "GetData", "a=GetValue();alert(a)", true);
Data=a;//a is Javascript Variable
}
Javascript:
函数GetValue(){
返回10;
}
C#NET
受保护的无效页面加载(对象发送方、事件参数e)
{
整数数据
RegisterStartupScript(this.GetType(),“GetData”,“a=GetValue();警报(a)”,true);
Data=a;//a是Javascript变量
}

在表单中选择一个隐藏字段或标签。使用
document.getElementById('ID')将返回值分配给隐藏表单。值=10
从CodeBehind调用此函数,并在CodeBehind中获取Hiddnefield的值。

我希望这能有所帮助。

更清楚地说,做一些像这样的事情

在HTML中定义如下标记

<asp:HiddenField ID="hfData" runat="server" />
 function putData()
     {
        document.getElementById('hfData').value = 10;
     }
 protected void Page_Load(object sender, EventArgs e)
   {
     int Data = hfData.Value;
   }
然后在你的页面上做这样的事情

<asp:HiddenField ID="hfData" runat="server" />
 function putData()
     {
        document.getElementById('hfData').value = 10;
     }
 protected void Page_Load(object sender, EventArgs e)
   {
     int Data = hfData.Value;
   }

这将在服务器端获取客户端数据以供进一步处理

您可以将JavaScript值存储在隐藏变量中,然后从后面的代码中访问该值。

您所要求的是不可能的。页面加载是aspnet webforms请求/响应生命周期的一部分。这决定了生成的页面内容

生成页面内容后,JavaScript将在客户端浏览器上运行。因此,无法使用任何服务器端方法来获取页面生成的价值


您可以将该值作为查询字符串传递、发回值或使用web服务。

这实际上与您之前提出的问题相同……流的可能重复项不正确。无法在页面加载中获取数据中的值。原因是ClientScript.RegisterStartupScript将在页面加载事件完成后执行Javascript。所以不能这样设置值。你存储价值的目的是什么?请记住,您可以使用javascript或jquery在客户端存储该值。该值的上下文是什么?它不会工作,因为javascript函数将在页面加载事件完成后执行。所以,在第一次页面加载时,hiddenfield值始终保持为空。