2012-04-23 20 views
5

Estoy usando un control de usuario .ascx donde llene los datos del empleado junto con la imagen del empleado. al hacer clic en la imagen del empleado, quiero mostrar un cuadro de diálogo donde quiero tener un campo de texto y un cuadro de texto para la entrada del usuario. El evento Click se activa bien pero con el diálogo me da el error de "error de tiempo de ejecución de Microsoft JScript: el objeto no admite la propiedad o el método 'diálogo'". Podría por favor que alguien me ayude a completar un diálogo con un campo de texto y un cuadro de texto. Soy realmente nuevo en el JQUERY y estoy luchando para que funcione.Error de tiempo de ejecución de Microsoft JScript: el objeto no admite la propiedad o el método 'diálogo'

En el siguiente fragmento de código he agregado un código de diálogo de uno de los ejemplos que encontré en línea.

<%@ 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

parece que no se está cargando jquery ui.js también tenga en cuenta que debe incluir jquery.js antes de incluir cualquier otra biblioteca – Rafay

+0

Gracias por el consejo de 3nigma. Sé que jquery.js no está incluido en mi código, pero como mencioné, estoy trabajando con un control de usuario (archivo .ascx) donde no sé si puedo agregar el script jquery.js, ya que agrego cualquier script en el encabezado de .aspx páginas en controles de usuario no tengo ningún encabezado. algún consejo para eso? intenté agregar script directamente y todavía estoy terminando con el mismo error "Error de tiempo de ejecución de Microsoft JScript: el objeto no admite la propiedad o el método 'diálogo'" –

+0

Es un tipo de conflicto molesto con las bibliotecas de Telerik. – Jagd

Respuesta

6

Got it working guys. Acabo de agregar un div que es para el diálogo y que a partir del clic en la imagen acaba de llamar al div. Además, agregó un JQuery.noConflict(); para evitar conflictos entre las bibliotecas de Sitefinity y JQuery. A continuación se muestra el fragmento de código

<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

¡Felicidades por la solución! Cuando pueda, asegúrese de marcar su respuesta como 'aceptada' para que otros puedan aprender de su éxito. Saludos ~ –

+1

buena solución. gracias por compartir. – RachitSharma

+0

Tuvo algún conflicto entre telerik y jquery, por lo que el diálogo jquery ui arrojaría un error. $ j = jQuery.noConflict(); trabajó para mi. – desiguy

2

En mi caso, los archivos jquery no se cargan correctamente. Entonces lo que hice fueron: 1) Abrí la página en Chrome 2) Seleccioné las herramientas de desarrollador del menú o Ctrl + Shift + I 3) Hice clic en Red para ver todas.

0

Tuve el mismo problema. problema fue que había cargado 2 archivos Jquery. jquery-1.8.3.js y jquery-1.4.1.js. entonces hubo un conflicto después de eliminar el archivo jquery-1.4.1.js. funcionó sin problemas.

Cuestiones relacionadas