将数据从脚本发送到.cs页面

时间:2010-09-13 05:39:08

标签: asp.net

我从.cs获取值到脚本,但我想将数据从脚本发送到.cs页面 我试过这个,但它没有用。

 <script type="text/javascript">
         $(document).ready(function() {
         $("hfServerValue").val("From ClientSide!");
         });
     </script>

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

 protected void Page_Load(object sender, EventArgs e)
    {
       Response.Write(hfServerValue.Value.ToString ());      
    }

2 个答案:

答案 0 :(得分:1)

您无法直接从脚本调用Page_Load方法。有几种方法可以将数据发送到服务器 尝试使用XMLHttpReqest

如果你正在使用jQuery,你也可以尝试$.ajax()$.load()等。

请记住,与内部创建请求的提交操作不同,您尝试自己创建请求,因此您可能需要处理请求标头(内容类型,内容长度等),内容等内容所以,即使你想做一件简单的事,也要做一些工作要做。但是一旦你开始运行它就会自然而然。

答案 1 :(得分:1)

首先需要添加一个从javascript获取数据并将其发回的控件:

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

然后通过获取cliendID将数据放在该控件上。

$(document).ready(function() { $("<%=hfServerValue.ClientID%>").val("From ClientSide!"); });

然后在回帖后你会得到它们

protected void Page_Load(object sender, EventArgs e)
{ 
    if(IsPostBack)
    {
        var YourReturn = hfServerValue.Text;

    }   
}

这是一个问题的答案。当然ajax是一种不同的方式。

更新

现在我看到隐藏的字段,这也是隐藏字段的更好方法。唯一的错误是你没有使用 CliendID !我也不知道你是使用原型还是jquery还是只使用微软。