从带有参数的javascript调用函数后面的代码

时间:2014-07-25 07:59:40

标签: javascript vb.net function parameters ascx

  

我在 .ascx User Control )中有以下功能代码,如下所示

Public Function GetCity(strCountry As [String]) As String
    Dim strCity As String = String.Empty
    If strCountry = "USA" Then
        strCity = "NewYork"
    Else
        strCity = "OtherCity"
    End If
    Return strCity
End Function

我想从JavaScript悬停事件中调用此函数。我尝试了以下方法,但它不适用于 parameter

的功能
 function popup(e) {
        var params = e.getAttribute('alt'); 
        var s = <%=GetCity() %>
    }

如何在从JavaScript端调用时将javascript参数传递给函数后面的代码。

我无法使用PageMethods,因为页面方法无法在母版页或用户控件中使用。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

您可以在javascript中的隐藏字段中设置值。创建回发后按钮让css display:none具有服务器事件并调用生成回发后按钮的回发功能。希望这有帮助!

您可以从工具箱中创建一个简单的页面和拖放链接按钮。你可以在下面查看html源代码

 <html xmlns="http://www.w3.org/1999/xhtml">
<head><title>

</title></head>
<script>

</script>

<body>
    <form method="post" action="Default2.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTQ1OTQ0MTYyOWRkuWlHCHAXVuntHm4idSdrbGyB4bo1plZ25doIF2bKALo=" />
</div>

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


<div class="aspNetHidden">

    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKls9rrAgLM9PumD51kLQ9HHdzfMdVDeQCyvUBdqVdENTp5zu30+p/t+upk" />
</div>
    <a id="LinkButton1" href="javascript:__doPostBack(&#39;LinkButton1&#39;,&#39;&#39;)">LinkButton</a>
    </form>
</body>
</html>

你看它创建函数__doPostBack。并且链接不是回发所以它生成html到<a id="LinkButton1" href="javascript:__doPostBack(&#39;LinkButton1&#39;,&#39;&#39;)">LinkButton</a>所以你可以创建这个LinkBut​​ton你需要的服务器事件,隐藏链接css display:none悬停时js中hiden字段的设置值并调用js __doPostBack(' LinkBut​​ton1','')使用隐藏的fiel值进行服务器回发过程。我没有显示所有代码。你可以尝试一下 。其他方式你可以ajax调用call code behind ajax

后面的代码