MVC - Ajaxフォームは - のターゲットに部分図doesntの更新を返します
-
21-08-2019
- |
-
-
21-08-2019 - |
質問
私はクライアントIDでユーザーの種類として自動的に更新するインデックスビューを持っています。私は(だけでそれだけでラベルを更新しました)仕事に似何かを得た - が、これは動作しません。
。何が起こるかというと、部分的にはちょうど(ない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舞台裏ません。私は、これはより速く、きれいと思うだろう。フォームを送信すると、私はあなたが(あなたのコードの私の読書から判断)していると思うようにあなたは、本質的に(DIVに再書き込みせず)リフレッシュするページを引き起こしている。
$('#sForm').submit()
他のヒント
私は同じ問題を抱えていました。
は私の部分図では、私はこれを持っていた。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
が、それはこのことをされている必要があります。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IQueryable<Client>>" %>
<時間>
あなたのAJAX呼び出しが動作しているかどうかをテストするための簡単な方法は、代わりのActionResultの
の文字列を返すことですpublic string ClientList(string queryText)<
{
return("ok, the ajax call must have worked because I see this string.");
}
所属していません StackOverflow