2012-04-23 33 views
5

私は従業員の画像と共に従業員データを入力する.ascxユーザーコントロールを使用しています。 私は1つのテキストフィールドとユーザーからの入力用のテキストボックスを持つダイアログを表示したいときに従業員の画像をクリックしています。 Clickイベントは正常に起動していますが、ダイアログで「Microsoft JScriptランタイムエラー:オブジェクトがプロパティまたはメソッドのダイアログ 'をサポートしていません」というエラーが表示されます。誰でも私にテキストフィールドとテキストボックスを持つダイアログを入力させるのを助けてください。私はJQUERYにとって本当に新しく、それを働かせるのに苦労しています。Microsoft JScript実行時エラー:オブジェクトがプロパティまたはメソッド 'ダイアログ'をサポートしていません

次のコードスニペットでは、オンラインで見つかった例の1つからダイアログコードを追加しました。

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="OpenAccessDataProvider,a4a794260c0b4440b466f75d11146db8.ascx.cs" Inherits="SitefinityWebApp.SfCtrlPresentation.OpenAccessDataProvider_a4a794260c0b4440b466f75d11146db8" %> 
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.PublicControls.BrowseAndEdit" Assembly="Telerik.Sitefinity" %> 
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.ContentUI" Assembly="Telerik.Sitefinity" %> 
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.Comments" Assembly="Telerik.Sitefinity" %> 
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.Fields" Assembly="Telerik.Sitefinity" %> 
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" Assembly="Telerik.Sitefinity" %> 
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> 

<telerik:RadListView ID="dynamicContentListView" ItemPlaceholderID="ItemsContainer" runat="server" EnableEmbeddedSkins="false" EnableEmbeddedBaseStylesheet="false"> 
    <LayoutTemplate> 
     <ul class="sfitemsList sfitemsListTitleDateTmb"> 
      <asp:PlaceHolder ID="ItemsContainer" runat="server" /> 
     </ul> 
    </LayoutTemplate> 

     <ItemTemplate> 
     <li class="sfitem sfClearfix"> 
      <h2 class="sfitemTitle"> 
       <sf:DetailsViewHyperLink ID="DetailsViewHyperLink" TextDataField="Title" runat="server" /> 
      </h2> 
      <sf:AssetsField ID="AssetsField1" runat="server" DataFieldName="Picture" /> 
      <sf:SitefinityLabel ID="SitefinityLabel1" runat="server" Text='<%# Eval("Designation")%>' WrapperTagName="div" HideIfNoText="true" CssClass="sfitemShortTxt" />   
      <sf:SitefinityLabel ID="SitefinityLabel2" runat="server" Text='<%# Eval("CompanyName")%>' WrapperTagName="div" HideIfNoText="true" CssClass="sfitemShortTxt" /> 
      <sf:AssetsField ID="AssetsField2" runat="server" DataFieldName="Documents"/> 
     </li> 
    </ItemTemplate> 
</telerik:RadListView> 

<sf:Pager id="pager" runat="server"></sf:Pager> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".sfClearfix .sfimageWrp img").click(function() { 

//   $(document).ready(function() { 
       var $dialog = $('<div></div>') 
     .html('This dialog will show every time!') 
     .dialog({ 
      autoOpen: false, 
      title: 'Basic Dialog' 
     }); 

       $('#opener').click(function() { 
        $dialog.dialog('open'); 
        // prevent the default action, e.g., following a link 
        return false; 
       }); 
//   }); 

      //alert("HEY THERE " + $(this).attr("src")); 
     }); 
    }); 
</script> 

Regards. 
+0

jquery ui.jsがロードされていないようです。他のライブラリを含める前にjquery.jsをインクルードする必要がありますのでご注意ください。 – Rafay

+0

アドバイス3nigmaありがとうございます。私はjquery.jsが私のコードには含まれていないことを知っているが、私はユーザコントロール(.ascxファイル)を使って作業していることを知っている。私はjquery.jsスクリプトを追加することが許されているかどうかわからない。 .aspxのページは、ユーザーのコントロールでは、私は任意のヘッダーがありません。それについて助言してくれますか?私はスクリプトを直接追加しようとしましたが、私はまだ同じエラー "Microsoft JScriptランタイムエラー:オブジェクトがプロパティまたはメソッド 'ダイアログ'をサポートしていません" –

+0

それはTelerikライブラリと厄介な矛盾の一種です。 – Jagd

答えて

6

それは働いている人。ちょうどdivと呼ばれていた画像のクリックよりも、ダイアログのためのdivが追加されました。また、JQuery.noConflict()を追加しました。 SitefinityとJQueryライブラリとの競合を防止します。以下はコードスニペットです

<div class="dialogTest"> <br /> 
<br /> 
Please enter your email address: <input type="text" name="emailAddress" style="width:300px;" /><br /><br /> 

<asp:TextBox ID="txtBox" runat="server"></asp:TextBox> <br/> 
<asp:Button ID="Button1" runat="server" Text="Button" CausesValidation="False" 
     onclick="Button1_Click" /> 
</div> 

<script type="text/javascript"> 
$j = jQuery.noConflict(); 
$j(document).ready(function() { 
    $j(".sfClearfix .sfimageWrp img").click(function() { 
     $j(".dialogTest").addClass("open"); 
     //return $j(this).attr("src"); 
    }); 
}); 
</script> 
+0

修正のおめでとうございます!あなたができるときは、他の人があなたの成功から学ぶことができるように、あなたの答えに「受け入れられた」と記入してください。乾杯〜 –

+1

良い修正。共有してくれてありがとう。 – RachitSharma

+0

telerikとjqueryの間に矛盾があったため、jquery UIダイアログでエラーが発生します。 $ j = jQuery.noConflict();私のために働いた。 – desiguy

2

私の場合、jqueryファイルは正しく読み込まれません。1)Chromeでページを開きました 2)メニューから開発者ツールを選択したかCtrl + Shift + I 3)[ネットワーク]をクリックしてすべてを表示します。

0

私は同じ問題がありました。問題は2つのJqueryファイルをロードしたことです。 jquery-1.8.3.jsとjquery-1.4.1.jsです。だから紛争があった。 jquery-1.4.1.jsファイルを削除した後それはスムーズに働いた。

関連する問題