如何在页面加载时将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
}
答案 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值存储在隐藏变量中,然后从后面的代码中访问该值。