我正在使用ASP.NET 3.5。
在我的代码背后,我有这个代码,我想从我的JavaScript执行。
Private Sub CreateName()
Dim Name as String
Name = txtName.text
End Sub
这是我的JavaScript函数
<script type="text/javascript">
function doSomething() {
document.elqFormName.action = 'http://now.eloqua.com/e/f2.aspx'
document.elqFormName.submit();
}
</script>
那么我必须在我的JavaScript函数中放置什么才能在我的代码中执行我的函数?
提前致谢!!
答案 0 :(得分:0)
我不确定VB是如何工作的,但它与C#类似。我以前通过制作WebMethod并使用ajax来完成此操作。
答案 1 :(得分:0)
尽管你可以像Jimmeh所说的那样使用WebMethods,但另一个选择是使用HTML通用处理程序。在这种方法中,您的CreateName方法不在ASPX页面中,而是在ASHX页面中。
检查:
http://www.aspcode.net/Creating-an-ASHX-handler-in-ASPNET.aspx
在javascript部分的doSomething方法中,您需要使用Ajax调用ASHX。
检查:
答案 2 :(得分:0)
我有同样的问题,我发现处理它的最简单方法是使用AJAX调用。在您的ASPX页面(javascript)中:
//======================================
/* This function creates a new instance of an XMLHttpRequest object,
based on the users browser, and returns it */
//======================================
var xmlhttp
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
//======================================
/* This function issues a request and specifies which function should handle the ajax response */
//======================================
function doSomething()
{
xmlhttp = GetXmlHttpObject();
xmlhttp.onreadystatechange=stateChanged;
var url = "CreateName.aspx"
xmlhttp.open("GET", url, false);
xmlhttp.send(null);
}
//======================================
/* This function handles the ajax response text, places it in a label */
//======================================
function stateChanged()
{
if (xmlhttp.readyState==4)
{
var returned = xmlhttp.responseText;
document.getElementById("lbl_returnStatus").innerHTML = returned;
}
}
然后在文件CreateName.aspx中:
<%
'Here is where you can do anything on the server side
Dim Name as String
Name = txtName.text
'This is what will be passed back and handled by the stateChanged function
Response.Write("Success!")
%>
如果需要,您还可以通过AJAX调用传递参数。由于我们正在进行的请求类型是GET,您只需将参数添加到Javascript中的URL,并使用Request.Querystring(“paramName”)函数访问服务器端。
我写了一篇关于在我的博客here上启动AJAX的更详细的帖子,如果您也想阅读它。干杯!