سؤال

ولدي وجهة نظر الفهرس الذي أريد تحديث تلقائيا أنواع المستخدم في هوية العميل. أنا حصلت على شيء مشابهة إلى العمل (فقط انها استكمال مجرد التسمية) - ولكن هذا لن يعمل

.

وماذا يحدث هو جزئية يتم تقديمها فقط في حد ذاته (وليس في مكان UpdateTargetID). حتى يتم تقديم البيانات على صفحة جديدة. هنا هو رمز بلادي:

وحدة التحكم:

public ActionResult ClientList(string queryText)
    {
        var clients = CR.GetClientLike(queryText);
        return PartialView("ClientIndex", clients);
    }

والجزئي الشخصي:

<table>
<thead>
    <tr>
        <td>Client ID</td>
        <td>Phone1</td>
        <td>Phone2</td>
        <td>Phone3</td>
        <td>Phone4</td>
    </tr>
</thead>
<tbody>
    <% if (Model != null)
       {
           foreach (Client c in Model)
           { %>
        <tr>
            <td><%= Html.Encode(c.ClientID)%></td>
            <td><%= Html.Encode(c.WorkPhone)%></td>
            <td><%= Html.Encode(c.WorkPhone1)%></td>
            <td><%= Html.Encode(c.WorkPhone2)%></td>
            <td><%= Html.Encode(c.WorkPhone3)%></td>

        </tr>
    <% }
       } %>
</tbody>

مشاهدة الرئيسية:

وأدخل كود عابث، لذلك هذا هو نسخة / لصق فقط:

             $ (وظيفة () {             $ ( "# QUERYTEXT"). keyup (وظيفة () {                 $ ( '# sForm') تقديم ()؛             })؛         })؛     

                 
  <div id="status" class="status" name="status">
    <%--<% Html.RenderPartial("ClientIndex", ViewData["clients"]); %> Should this be here???? --%>

  </div>
هل كانت مفيدة؟

المحلول

وبدلا من نشر النموذج على الصفحة باستمرار لماذا لا تفعل وراء الكواليس jQuery.get الدعوة للحصول على نتائج بحث عن نص المقدمة. أعتقد أن هذا سيكون أسرع وأكثر نظافة. عند تقديم شكل مثل أعتقد أنك (انطلاقا من قراءتي من التعليمات البرمجية الخاصة بك) التي تتسبب في الصفحة لتحديث أساسا (وليس إعادة كتابة للشعبة).

$('#sForm').submit()

نصائح أخرى

وكان لي نفس المشكلة.

في رأيي الجزئي، كان هذا

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

ولكن كان ينبغي أن يكون هذا

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IQueryable<Client>>" %>

وسيلة سهلة لاختبار إذا يعمل دعوة اياكس الخاص بك هو لإرجاع سلسلة بدلا من ActionResult

public string ClientList(string queryText)<
{
    return("ok, the ajax call must have worked because I see this string.");
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top