如何在c#Code后面的变量中分配Javascript返回值

时间:2013-09-17 04:09:20

标签: c# asp.net

如何在页面加载时将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 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

在表单中删除隐藏字段或标签。使用document.getElementById('ID').value = 10;
将返回值分配给隐藏表单 从CodeBehind调用此函数并在后面的代码中获取Hiddnefield的值 我希望这会有所帮助。

答案 2 :(得分: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;
   }

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

答案 3 :(得分:0)

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