0

如何在页面加载时将 javascript 返回值分配给变量后面的 c# 代码。我正在尝试这样做。请看下面的例子。我想要这样的确切结果。

注意:我已经发布了这样的问题,但这意义不大。

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
}
4

4 回答 4

1

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

生成页面内容后,JavaScript 将在客户端浏览器上运行。所以没有办法使用任何服务器端方法来获得页面生成的价值。

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

于 2016-01-22T12:36:36.093 回答
0

Take a hidden field or Label in the form. Assign return value to the Hidden form with document.getElementById('ID').value = 10;
Call this function from CodeBehind and get the value of Hiddnefield in the code behind.
I hope this helps.

于 2013-09-17T04:18:45.127 回答
0

为了更清楚,做这样的事情......

在您的 HTML 中定义这样的标签

<asp:HiddenField ID="hfData" runat="server" />

然后编写一个看起来像这样的javascript函数

 function putData()
     {
        document.getElementById('hfData').value = 10;
     }

然后在你的 page_load 上做这样的事情

 protected void Page_Load(object sender, EventArgs e)
   {
     int Data = hfData.Value;
   }

这应该在服务器端获取您的客户端数据以进行进一步处理

于 2013-09-17T04:46:21.050 回答
0

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

于 2013-09-17T06:01:12.747 回答