在内容页面上触发.Net中的OnLoad Javascript

时间:2014-02-19 14:57:32

标签: javascript html asp.net

问题:在“内容页面”上加载Javascript。

我有一些我用

启动的测试Javascript代码
<body onload="javascript:SomeFunction()"> 

(特定代码为<body onload="GetMap(); ClickGeocode()">

但是我现在想把代码放到一个包含母版页的.Net页面中。我不想做的是在母版页上加载Javascript,因为这意味着当我只想在一个页面上加载时,它会加载到每个页面上。

我已经尝试过这里和谷歌找到解决方案,但我不确定术语! 我已将How do I call a JavaScript function on page load?视为研究的一个例子。

完整代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3"></script>

<script type="text/javascript">

    var map = null;

    function GetMap() {
        map = new VEMap('myMap');
        map.LoadMap();

    }

    function ClickGeocode() {

        map.Geocode(document.getElementById('<%= txtQuery.ClientID %>').value, findCallback);
    }

    function findCallback(layer, findResults, placeResults, moreResults, error) {
        var s = '';
        if (placeResults) {
            for (var i = 0; i < placeResults.length; ++i) {
                s += 'Name: ' + placeResults[i].Name + '\n';
                s += 'LatLong: ' + placeResults[i].LatLong + '\n';
                s += 'MatchCode: ' + placeResults[i].MatchCode + '\n';
                s += 'MatchConfidence: ' + placeResults[i].MatchConfidence + '\n';
                s += '\n\n';
            }
        }
        else {
            // Code was an error! 
            // Do something else!
         //   console.log(error);
        }

    }
 </script>
   </head>
   <body onload="GetMap(); ClickGeocode()">

      <div id='myMap' style="position:relative; width:400px; height:400px;"></div>      

     <form runat="server"> 
       <asp:TextBox ID="txtQuery" runat="server" text="Postcode Here" />

       </form>
   </body>
</html>

1 个答案:

答案 0 :(得分:2)

使用适当的事件或在已有必要元素的情况下调用您的代码。

将以下内容添加到文档的底部(当然在<body>内):

<script type="text/javascript">
  myFunction();
</script>

可以在<head><body>中使用事件:

<script type="text/javascript">
  document.addEventListener("DOMContentLoaded", myFunction, false);
</script>