- PR -

ATLAS (ASPAJAXExt)について

投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2007-03-01 13:27
いつもお世話になります。

インターネットなどでATLASの正式バージョンASP.NET AJAX 1.0がリリース
になったという記事をみて評価してみようと思いインストールを行ってみよう
としたところ他のバージョンがインストールされています。というメッセージ
が出力されてインストールされませんでした。

以前にベータ版のインストールをしていたのでそのせいだと気づきそれを
アンインストールしインストールしたところインストールでき、
AjaxControlToolkitもダウンロードしインストールしサンプルのサイト
の構築(サンプルが32種類のってるサイト)も出来たのですがここで
一つ問題が発生しました。

ベータ版時にMicrosoft.Web.Atlas.dllを参照についかし
javascriptの記述で

var x = $('x').value;

のような記述が出来たのですが、今回の新バージョンで
同じを記述をした時にjavascript実行の部分でエラーが
発生してしまいます。 

この現象についてわかる方がおられましたらよろしく
お願いします。

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2007-03-01 14:05
http://ajax.asp.net/documentation/AspNet_AJAX_CTP_to_RTM_Whitepaper.aspx

この記事の真ん中あたりの「$ and $get」という部分を見ると、リリース版では
$( )の代わりに$get( )を使うようになったと書いてあるように思います。

#JavaScriptで利用する分にはMicrosoft.Web.Atlas.dllへの参照っていらないような。。。
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2007-03-01 15:09
どっとねっとふぁんさんお返事ありがとうございます。

いわれたとおり$get()を使用することによって解決しました。
どうもありがとうございます。

解決です。 …といいたいところなんですが

以前は
<atlas:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<atlas:ServicePath Path="AjaxService.asmx" />
</Services>
</atlas:ScriptManager>
でwebサービスの呼び出し先を宣言して
AjaxService.HelloWorld(OnComplete, OnTimeout);
のようにすればjavascriptからこのメソッドを呼び出せていたのですが

$get()の部分が解決したので
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServicePath Path="AjaxService.asmx" />
</Services>
</asp:ScriptManager>
上記のように変更して同じように
AjaxService.HelloWorld(OnComplete, OnTimeout);
でメソッドを呼び出そうとしたところjavascriptのエラーで
AjaxServiceは宣言されていません。というエラーメッセージ
が出てきます。

この部分に関しても新バージョンにて変わった部分なのでしょうか?
わかればお教え下さい。
こちらもいまから調べてみます。

宜しくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-03-01 18:41
AjaxService.asmx/js でアクセスすると実際に出力される Proxy コードを見ることが出来ます。
おそらく AjaxService.HelloWorld は下のように宣言されていませんか?
HelloWorld:function(succeededCallback, failedCallback, userContext)
とすると、userContext を受けるクロージャを追加してあげれば呼び出せると思います。
_________________
かるあ のメモスニペット
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2007-03-02 09:04
おはようございます。

かるあさんお返事ありがとうございます。

>>AjaxService.asmx/js でアクセスすると実際に出力される Proxy コードを見ることが出来 ます。

これはブラウザ→表示→ソース で見れるコードのことでしょうか?
一応上記のソースコードを旧と新でみあわせたところは
javascriptから呼び出している部分は
AjaxService.HelloWorld(OnComplete, OnTimeout);
で一緒なのですが
旧の方には
<script type="text/xml-script">
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<references>
<add src="AjaxService.asmx/js" onscriptload="AjaxService.path = '/ATLASTECH/AjaxDataGet/AjaxService.asmx'" />
</references>
<components />
</page></script>
のようなwebサービスの場所を指定するような記述
が出てくるのですが
新のほうには場所を示すような記述がまったく出てきません。
このあたりが原因になっているのでしょうか?

>>HelloWorld:function(succeededCallback, failedCallback, userContext)
>>とすると、userContext を受けるクロージャを追加してあげれば呼び出せると思います。
どのようにすればこれを確認することが出来るでしょうか??

よければお教え下さい。

宜しくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-03-02 10:04
引用:

未記入さんの書き込み (2007-03-02 09:04) より:

>>AjaxService.asmx/js でアクセスすると実際に出力される Proxy コードを見ることが出来 ます。

これはブラウザ→表示→ソース で見れるコードのことでしょうか?


いえ、Microsoft.Web.Script.Services.ScriptService 属性が付加された WebService なら Webブラウザのアドレスバーに http://ホスト名/AjaxDataGet/AjaxService.asmx/js でアクセスすれば見えるはずです。

引用:

新のほうには場所を示すような記述がまったく出てきません。
このあたりが原因になっているのでしょうか?


このあたりは ScriptManager に WebService を登録してある場合は ASP.NET が自動的に設定してくれます。
自分で設定するならこんな風にしてみてはどうでしょう。
コード:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<script type="text/javascript">/AjaxDataGet/AjaxService.asmx/js</script>


xml-script に関しては 1.0 から使い出したのでよくわからないのですが、
どっとねっとふぁん さんが示された URL を見ると CTP から Beta に移行したタイミングで使えなくなっているようですね。
_________________
かるあ のメモスニペット
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2007-03-02 11:29
かるあさんお返事ありがとうございます。

http://ホスト名/AjaxDataGet/AjaxService.asmx/js
にてアクセスしてみたのですが
エラー画面になってしまいます。

///////// エラー内容  ///////////////////////
要求形式が認識されないため、'/js' で URL が 不意に終了しました。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.InvalidOperationException: 要求形式が認識されないため、'/js' で URL が 不意に終了しました。
///////// エラー内容  ///////////////////////

何か足りないのものでもあるのでしょうか?
一応ASP.NETのエラーが出ているのでアクセスは出来ていると
思うのですが…

何度も聞いてすみませんが宜しくお願い
します。 こちらも頑張って原因を追求
してみます。
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2007-03-02 11:37
>>Microsoft.Web.Script.Services.ScriptService 属性が付加された WebService なら

というのは
import Microsoft.Web.Script.Services.ScriptService

とするという意味ではないのでしょうか?

この部分が少しわからなかったので
追記しておきます。

宜しくお願いします。

スキルアップ/キャリアアップ(JOB@IT)