الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استخدام اكثر من AutoCompleteExtender في الصفحة الواحدة

مغلقمُجاب
بدأه sunset98 في 12 أبريل 2013 · 1 رد · 1,097 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

 


اريد تنفيذ كالتالي صفحة تحتوي على مدخلات واريد اظهار اقتراحات لكل حقل.


فمثلا اراد المستخدم كتابة المنطقة اظهر لة اقتراحات المناطق المدخلة مسبقا..

 

او اراد اختيار صندوق محدد يختار من الاقتراحات التي ستظهر عليه

لدي الان صفحة ويوجد بها حقلين والمفترض انها تطبق المفهوم

 

في السابق كان حقل واحد وكان يعمل دون مشاكل ولكن عندما اضفت الحقل الاخر توقفت عن العمل..(واحد يعمل والاخر لا )

 

اي لربما كانت


المشكلة في وجود اكثر من حقل يطبق الاقتراحات

 

بحثت كثيرا قبل طرح هذا الموضوع ووجدت انه لايقبل اضافة اكثر من AutoCompleteExtender في الملف الواحد .

 

 

هل هناك طريقة تمكني استخدام حقول متعددة تطبق الاقتراحات ,,

 

ملحوظه : استخدمت كل حقل على حدة لاختباره تطبيق المفهوم وكل واحد يعمل دون مشاكل اما عند اضافة الحقل الاخر يتوقف عن العمل

 

كود asp.net

 

 

 

 

 

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ajax AutoCompleteExtender without Webservice</title>
</head>
<body>
    <form id="form1" runat="server">
   <ajax:ToolkitScriptManager ID="ScriptManager1" runat="server"/>
<div>

ConsentForm

                         <asp:TextBox ID="ConsentForm" runat="server"></asp:TextBox>
                         
 <ajax:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="ConsentForm" 
MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="GetConsentForm" >
</ajax:AutoCompleteExtender>

region

<asp:TextBox ID="txtRegion" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="AutoCompleteExtender2" runat="server" TargetControlID="txtRegion" 
MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="GetCountries" >
</ajax:AutoCompleteExtender> 



</div>
</form>
</body>
</html>

 كود C#

using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;public partial class _Default : System.Web.UI.Page {    protected void Page_Load(object sender, EventArgs e)    {    }    [System.Web.Script.Services.ScriptMethod()]    [System.Web.Services.WebMethod]        public static List<string> GetConsentForm(string prefixText)    {        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());        con.Open();        SqlCommand cmd = new SqlCommand("select DISTINCT consent_form from patient where consent_form like @Name+'%'", con);        cmd.Parameters.AddWithValue("@Name", prefixText);        SqlDataAdapter da = new SqlDataAdapter(cmd);        DataTable dt = new DataTable();        da.Fill(dt);        List<string> CountryNames = new List<string>();        for (int i = 0; i < dt.Rows.Count; i++)        {            CountryNames.Add(dt.Rows[0].ToString().Trim());        }        return CountryNames;    }    public static List<string> GetCountries(string prefixText)    {        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());        con.Open();        SqlCommand cmd = new SqlCommand("select DISTINCT RegionName from  patient where RegionName  like @NameOne+'%'", con);        cmd.Parameters.AddWithValue("@NameOne", prefixText);        SqlDataAdapter da = new SqlDataAdapter(cmd);        DataTable dt = new DataTable();        da.Fill(dt);        List<string> CountryNames = new List<string>();        for (int i = 0; i < dt.Rows.Count; i++)        {            CountryNames.Add(dt.Rows[0].ToString().Trim());        }        return CountryNames;    }}

 

 

 

وشكرا لكم جزيلا ووفقكم الله فيما يحبة ويرضاه

#2 أفضل إجابة

جرب ان يكون الكود بهذه الطريقة

 [System.Web.Script.Services.ScriptMethod()]
    [System.Web.Services.WebMethod]
    public static List<string> GetConsentForm(string prefixText)
    {
}

 [System.Web.Script.Services.ScriptMethod()]
    [System.Web.Services.WebMethod]
    public static List<string> GetCountries(string prefixText)
    {
}
1

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…