0

私はGoogleマップを使用しようとしています。そのために、JavaScriptを登録しようとしているユーザーコントロールを作成しましたが、いつものように登録されなかったので、クライアントスクリプトを使用してコードビハインドを登録しようとしました. しかし、再び、同じ問題。登録されません。

次のコードは、ユーザー コントロールのページ ロード イベントに記述されます。

 ClientScriptManager script = Page.ClientScript;

        if (!script.IsStartupScriptRegistered(this.GetType(), "scriptKey"))
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("function initialize() {");
            sb.AppendLine("var latlng = new google.maps.LatLng(%%LAT%%, %%LONG%%);");
            sb.AppendLine("var myOptions = {");
            sb.AppendLine("zoom: 8,");
            sb.AppendLine("center: latlng,");
            sb.AppendLine("mapTypeId: google.maps.MapTypeId.ROADMAP");
            sb.AppendLine("};");
            sb.AppendLine("var map = new google.maps.Map(document.getElementById(\"\"%%CLIENTID%%\"\"), myOptions);");
            sb.AppendLine("}");


            sb = sb.Replace("%%CLIENTID%%", this.ClientID);


            sb = sb.Replace("%%LAT%%", (a1 == null ? 42.006160736084 : a1.latitude).ToString());
            sb = sb.Replace("%%LONG%%", (a1 == null ? -93.6386795043945 : a1.longitude).ToString());

            script.RegisterStartupScript(this.GetType(), "scriptKey", sb.ToString(), false);

そして、このコントロールを aspx ページで使用しようとしました。助けていただければ幸いです、ありがとう!

4

1 に答える 1

2

あなたはタグを忘れました。

        StringBuilder sb = new StringBuilder();
        sb.AppendLine("<script type=\"text/javascript\"> function initialize() {");
        ......
        ......
        ......
        ......
        sb = sb.Replace("%%LAT%%", (a1 == null ? 42.006160736084 : a1.latitude).ToString());
        sb = sb.Replace("%%LONG%%", (a1 == null ? -93.6386795043945 : a1.longitude).ToString());

        sb.Append("</script>");
于 2011-01-26T22:42:58.130 に答える