ASP: בעיה בשתילת התצוגה בדף בשאילתת AJAX
-
בוקר טוב!
כתבתי טופס של AJAX
שמאפשר למשתמש לבצע חיפוש על טבלת הלקוחות ולקבל את התוצאות ישירות בדף.
הבעיה שלי היא שהתצוגה מוחזרת בדף חדש, למרות שהגדרתי אותה כתצוגה חלקית (גם בבקר).
אין לי מושג מה הבעיה..
הנה הקוד<div id="searchresults"></div> @using (Ajax.BeginForm("CustomerSearch", "Customers", new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "GET", OnFailure = "serchFailed", UpdateTargetId = "searchresults", })) { <input type="text" name="q" /> <input type="submit" value="חפש לקוח" /> }
והקוד של הבקר:
public ActionResult CustomerSearch(string q) { var customer = GetCustomer(q); return PartialView(customer); } private List<Customer> GetCustomer(string serchName) { return db.Customers.Where(a => a.FirstName.Contains(serchName)||a.LastName.Contains(serchName)).ToList(); }
השם של התצוגה כשם השאילתא, ולכן לא כתבתי את שמה.
תוודה רבה מראש לכל מי שיעזור!!פורסם במקור בפורום CODE613 ב27/10/2015 10:47 (+02:00)
-
חיפשתי באינטרנט, והציבור אומר שAjax.BeginForm מחולל HTML בלבד ולכן תלוי בחסדו של קובץ הסקריפט jquery.unobtrusive-ajax וממילא צריך לדואג שתהיה הפניה לקובץ זה.
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" />
בדוק את התשובה הזו:
http://stackoverflow.com/a/5410121/1271037
עיין בעיקר בסוף דבריו שהוא ממליץ "לעשות לבד" (דרכו של mat, וגם אני במקרה זה) וזה ע"י Html.BeginForm (או אפי' סתם תגית form של html) ועם מקטע JS ממש לא קשה.פורסם במקור בפורום CODE613 ב28/10/2015 11:26 (+02:00)