2012-03-11 94 views
0

我试图从客户端发送数据到服务器端(asp.net c#),如果你真的想知道,我想发送window.name属性从Javascript代码将数据传递到服务器端

首先我想到有一个asp:HiddenFieldOnSubmit事件有一些JS在隐藏字段中写入值。唯一的问题是我只能从PreLoad事件到PreRenderComplete事件访问隐藏字段值(根据this)。我正在处理的项目在OnInit事件中有很多代码,不幸的是我无法移动它,因此我需要在此处使用window.name值。

我的其他想法是添加自定义HTTP标头windowIdOnSubmit事件有一个JS,它将一个参数附加到document.location.href

我设法写从JS头部与XMLHttpRequestsetRequestHeader,但是,也许我做错了什么事在我的实现,这将产生2级的要求,第一个是正常的,预期的一个(点击一个按钮/链接...),第二个来自XMLHttpRequest。我发现这种行为非常不自然。 你有什么要求吗?参见以下的代码片段)。 我不知道如何使用AJAX。

var oReq = new window.XMLHttpRequest; 
    oReq.open('POST', document.location, false); 
    oReq.setRequestHeader("windowId", window.name); 
    oReq.send(null); 

对于OnSubmit挂钩的想法,我没有花就可以了太多的时间,但我想我必须要追加#字符之前我附上我的windowId参数与它的价值,从而使页面没有按重新加载。我可能是错的。无论如何,我必须在获取该值后从URL中删除此内容,以便用户看不到恶意网址。 你有什么要求吗?

好的,你有什么想法?

谢谢你阅读我所有的blabbering,并且预先感谢你为你解答。

回答

1

我会建议<asp:HiddenField />(例如,<asp:HiddenField ID="hfWindowName" runat="server" />OnInit,你仍然可以访问使用Request.Form它的价值:。

string windowName = Request.Form(hfWindowName.UniqueID); 
+0

谢谢,我已经忘记了的Request.Form – Daniel 2012-03-11 17:26:32

+0

这并没有为工作在Oninit中,我们没有访问控制值的权限,每次都给我NULL。 – Karan 2012-11-28 09:12:00

相关问题