我正在使用ASP.NET/VB实现一个Web应用程序。它包含一些功能使用ClientScriptIncludeRegister获取隐藏字段值
<script type =" text/javascript" src="External.js"></script>
:前端(的.aspx)执行外部.js
文件作为。这些功能之一称为populateHidden()
用于将值分配给我的前端所限定的hiddenField
(的.aspx)如下:
在External.js
document.getElementByID('Hidden2').value = "dsadsadas";
在的.aspx
<input id="Hidden2" type ="hidden" runat="server" />
我一直ŧ rying做的是使用来获取有关分配给Hidden2
值,并将其传递给服务器端(.aspx.vb):
Dim str = Hidden2.value
然而,由于服务器端代码执行第一,str
将是空的除非使用Button
或Timer
来重新加载前端,否则postback
会以某种方式完成,那么str
将具有dsadsadas
。我不打算重新加载页面或初始化postback
。我试过window.onload = populateHidden()
没有运气。这种情况让我感到绝望,因为我试图做很多事情,确保我不使用postbacks or reloads
,直到我遇到ClientScriptManager.RegisterClientScriptInclude Method。我无法回避如何使用这样的例子来解决我的情况。
心中的想法是打电话或从服务器端执行
External.js
(因为它先执行),然后在前端填充Hidden2
,回到服务器端和检索Hidden2.value
。但是,前面提到的链接中的示例中,服务器端代码是写在前端,但我想将它写在服务器端(.aspx.vb)。
我在服务器端需要
Hidden2.value
的原因是将其存储在我的sql_database
中。任何建议,建议或解决方案从前端得到Hidden2.value
将非常感激。
您或者需要回发表单或通过ajax提交数据。 [实现客户端回调没有回传](http://msdn.microsoft.com/en-us/library/ms178208.aspx) – MikeSmithDev 2013-02-13 14:39:24
@MikeSmithDev那么我会需要的是完全相反,运行客户端代码在服务器端与没有回传。 – HShbib 2013-02-13 15:48:45
如果你不想回发,你需要的是AJAX。您不能在服务器上运行客户端代码....因为您在服务器上。您可以将客户端数据异步发布到服务器,而不会导致整页回发。 – MikeSmithDev 2013-02-13 15:51:29