- PR -

ASP.NET AJAXのValidateCalloutExtender UpdatePanel内で使用するとエラー

1
投稿者投稿内容
かつひと
常連さん
会議室デビュー日: 2006/06/01
投稿数: 32
投稿日時: 2007-03-15 18:36
 お世話になります。

 ASP.NET AJAXのValidateCalloutExtenderついて、UpdatePanel内で使用するとエラー(おそらくJavaScript)になります。
解決方法をご存知の方ありましたら、教えて頂けないでしょうか。

[サーバ]
 Windows Server 2003
 IISおよびASP.NET 2.0
[クライアント]
 Windows XP Pro SP2
 IE7
[開発環境]
 Visual Studio 2005 Std
 ASP.NET 2.0
 ASP.NET AJAXおよびAjaxControlToolkit(3/1に公開されたバージョン)を使用


 最初に公開されたAjaxControlToolkitのValidateCalloutExtenderは、UpdatePanel内で使用するとエラーになってポップアップすら表示されませんでした。
3/1公開バージョンでは、ポップアップは表示されるものの、その後UpdatePanelの更新処理を行うと、IE7の左下にページエラーが表示されます。
そもそも、ValidateCalloutExtenderはUpdatePanel内に配置してはいけないのでしょうか。
よろしくお願い致します。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2007-03-17 07:27
AJAX 1.0でWeb.configから
compatiblility validation controlsの
<tagMapping>が削除されたのが原因のようです。

下記サイトに回避策が掲載されています。

http://weblogs.asp.net/scottgu/archive/2007/01/25/links-to-asp-net-ajax-1-0-resources-and-answers-to-some-common-questions.aspx
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
かつひと
常連さん
会議室デビュー日: 2006/06/01
投稿数: 32
投稿日時: 2007-03-17 12:09
Access様

 アドバイス頂き、ありがとうございます。
質問させて頂いた内容は、解決できました。

 しかし、今度は恐らく別の原因で、やはりページエラーが発生します。
入力補助としてPopupExtenderでカレンダーを表示したりもしていますが、いろいろ操作していると(どういう操作をしたら..ということは今いちハッキリしません)、ページエラーになります。
ValidatorCalloutExtenderかPupupExtenderかは分かりませんが、参考サイトが英語だったため、自分が間違った設定をしているためかもしれません。
度々申し訳ありませんが、いかがなものでしょうか。
かつひと
常連さん
会議室デビュー日: 2006/06/01
投稿数: 32
投稿日時: 2007-03-19 11:33
 ValidatorCalloutExtenderがエラーになる条件がおおよそ分かりました。
入力箇所は大体以下のような構成になっています。

<UpdatePanel ID="UpdateMain">
 <asp:DetailsView ID="DvMain">
  <asp:TemplateColumn>
   <asp:TextBox ID=TxtNo">
  <asp:TemplateColumn>
   <asp:TextBox ID="TxtName>
  <asp:TemplateColumn>
   <asp:TextBox ID="TxtDate">
  <asp:TemplateColumn>
   <asp:Button ID="BtnOK">
   <asp:Button ID="Cancel">

 テキストボックスそれぞれに、検証コントロールとValidatorCalloutExtenderを割り当てています。

 エラーが発生する条件は、
@UpdatePanelの中にDetailsViewを配置する。
ADetailsView内の "2つ以上" のTextBoxにエラー値を入力する(エラーポップアップが表示されている状態)。
Bこの状態で、ボタンを押すなどサーバにポストバックさせる操作をすると、
「originalWidthはNullまたはオブジェクトではありません」
というJavaScriptエラーが表示される。
1

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