Ajax Control Toolkit AutoVervollständigen-extender
Ich habe diese Anleitung befolgt (http://www.asp.net/ajaxlibrary/act_AutoComplete_simple.ashx um die AutoVervollständigen-extender und es funktioniert aber, wenn implimenting in meinem größeren Projekt, das ich kann nicht für das Leben von mir sehen, den Unterschied. Ist es ein problem zu haben, der extender geschachtelt innerhalb der Tabelle Elemente?
anyway, ich habe die auto-vervollständigen-extender aufrufen einer dumbby Methode aus dem tutorial einfach, um loszulegen. Nicht mit einem webservice, sondern nur eine Methode (wie in der Anleitung). Verwendet die Seite eine master-Seite, ist, bekannt, Probleme zu verursachen? hier ist der header
<%@ Page Title="Report" Language="C#" MasterPageFile="~/Doctors/MasterPage.master" AutoEventWireup="true" CodeFile="generateReport.aspx.cs" Inherits="Doctors_generateReport"
maintainScrollPositionOnPostBack="true" %>
<style>...</style>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<asp:toolkitscriptmanager ID="ToolkitScriptManager1" runat="server" >
</asp:toolkitscriptmanager>
<p class="headingStyle"><strong><em>Clinical Report</em></strong></p>
<table>
und die textbox:
<td class=logicalDivide>Current Medication:</td>
<td class=logicalDivide>
<asp:TextBox ID="tbCMed" runat="server" CssClass="textbox" Width="178px" MaxLength="30" Font-Names="Calibri" onfocus="{ this.value = ''; }"></asp:TextBox>
<asp:autocompleteextender
ID="AutoCompleteExtender1"
runat="server"
TargetControlID="tbCMed"
ServiceMethod="GetCompletionList4" UseContextKey="True">
</asp:autocompleteextender>
</td>
und der code hinter:
[WebMethod]
[ScriptMethod]
public static string[] GetCompletionList4(string prefixText, int count, string contextKey)
{
//Create array of movies
string[] movies = { "Star Wars", "Star Trek", "Superman", "Memento", "Shrek", "Shrek II" };
//Return matching movies
return movies.Where(m => m.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase)
.Take(count)
.ToArray();
}
Edit 1:
Diese Frage ist ähnlich (http://stackoverflow.com/questions/791361/trying-to-get-a-simple-example-of-asp-net-ajax-dropdownlist-autocomplete-extende?rq=1 -) aber wie die demo, es funktioniert auf seine eigene, aber nicht in meiner Anwendung.
Deshalb Ihr müssen einige Einstellungen in der Masterpage oder web.config, dass die änderung der toolkits Verhalten. Irgendwelche Ideen ?
Edit 2:
Ich habe gerade versucht, indem Sie die ToolScriptManager in der master-Seite - keine Würfel, und...
Hinzugefügt
EnabledPageMethods="true"
den ToolScriptManager - noch keine Würfel.
Einer letzten relevanten Ausschnitt aus dem web.config:
<pages>
<controls>
<add tagPrefix="asp" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
</controls>
</pages>
<identity impersonate="true"/>
GetCompletionList4
absolut die gleichen wie in Ihrem Projekt? Es gibt vergessene Klammer um, Wo die Methode content.InformationsquelleAutor hippo30 | 2012-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe bis auf das Ajax Control Toolkit. Heres eine jQuery-Lösung (spürbar schneller als der Control Toolkit ...bevor es gestoppt arbeiten!!):
... und der code hinter:
und setzen diese im inneren des scriptManager:
InformationsquelleAutor hippo30
Hier meine Lösung, ich bin mit webservices zu nennen, eine Funktion zum AutoVervollständigen.
Angenommen, Sie haben AjaxControlToolKit korrekt installiert haben, befolgen Sie diese Schritte
In der master-Seite
1. Fügen Sie die folgende Zeile an der Spitze der Ihre .aspx-Seite
2. Fügen Sie die folgende Zeile nach form id="form1" runat="server"
3. Fügen Sie Ihre Textfeld, und die AutoCompleteExtender
4. Erstellen eines webservice -
Projektmappen-Explorer -> Rechts Klick -- > Neues Element Hinzufügen... -> Web-Service (ich remane Sie auf AutoVervollständigen.asmx) ein und dann drücken Sie die Taste Hinzufügen
Web-Services AutoVervollständigen.asmx
5. Öffnen Sie AutoVervollständigen.vb-Datei und kommentieren Sie die folgende Zeile
'<System.Web.Script.Services.ScriptService()> _
In VB diese Zeile ist ein Kommentar standardmäßig, und es ist erforderlich, ermöglichen für Web-Service aufgerufen werden, von der Skript, mit ASP.NET AJAX
6. Fügen Sie Ihre asp:AutoCompleteExtender ServiceMethod aufgerufen Public Function GetCompletionList
HINWEIS: achten Sie auf
und
Aktualisieren Sie Ihren web-Seite und testen Sie es
Ich hoffe Euch helfen und zukünftige andere.
InformationsquelleAutor Pablo V