Използване на частично изглед за зареждане на частичен HTML асинхронно от страна на клиента
Околната среда
- Визуално студио
 - 
- Изглед от 10 до 2008
 
 - ASP.NET ядро
 - 
- 3.1
 
 
За добавянето на динамични HTML елементи
Когато добавяте HTML елементи динамично, обикновено ги добавяте в Javascript, например. Тъй като се обработва независимо от уеб сървъра страна, може да се наложи да го управлявате в двойна, като атрибут стойности.
ASP.NET Core използва частичен изглед. Можете да извлечете HTML с сървър обработка, добавен към частична HTML (.cshtml) от страна на сървъра. От страна на клиента този HTML се извлича и елемент се добавя към указаното местоположение.
Какво има в пробата?
Определя <ul><li> списък на като частичен изглед.
Част от сървъра част от показва частичен изглед, определен в index.cstml. Затова е разширен, когато изгледът е получен от сървъра.
Част от клиент натоварване Ajax частичен е T:System.Web.HTML контрол веднага след като клиентът извлича HTML и го показва на екрана. Извлича и показва частичен изглед от сървъра в Javascript.
Бутонът Ajax Частичен се използва, когато натиснете бутон. Извлича и показва частичен изглед от сървъра в Javascript. Процесът е същият като Load. Той също така описва обработката на грешки, ако не е възможно да се зареди веднъж.
Контролери (HomeController.cs)
Определя действията за частично изгледи за зареждане по време на зареждане и частично изгледи за зареждане, когато бутонът е натиснат.
За да върнете частичен PartialView изглед, обадете се на метода и се върнете.
Можете също така да свържете модела с Partialвюю, така че List<string> ние сме обвързващи тук.
Можете да определите кои типове са всъщност обвързани от страна на изгледа, която е точно същата като Razor синтаксис, като index.cstml.
Задаването на името на изгледа е същото като за другите функции на изгледа.
public class HomeController : Controller
{
  // :
  // :
  public IActionResult PartialLoad()
  {
    var list = new List<string>() { "Load1", "Load2", "Load3" };
    // PartialView を呼ぶこと
    return PartialView("Partial", list);
  }
  public IActionResult PartialButton()
  {
    var list = new List<string>() { "Button1", "Button2", "Button3" };
    // PartialView を呼ぶこと
    return PartialView("Partial", list);
  }
}
Частичен изглед (изглед/Начало/Частичен.cshtml)
Дефинирайте частичен изглед в Частичен.cshtml. Съдържанието е само списък с обвързани li низове, подредени по етикет.
Това е абсолютно същото като нормалното, така че не бъдете особено внимателни.
Тъй като това е синтаксис Razor, също така е възможно да вграждате код в C
Името на файла и йерархията на папките на частичен изглед могат да бъдат поставени навсякъде според закона за подравняване на изгледа.
@model List<string>
<ul>
  @foreach (var item in Model)
  {
    <li>@item</li>
  }
</ul>
Изгледи (HTML) (Изгледи/Начало/index.cstml)
Въпреки че това е дефиницията на HTML страна, има няколко места за обяснение, защото частта на дисплея е основно мнозинство.
За частичния сървър можете да укажете partial етикета .
Можете да разширите указания частичен изглед.
name Задайте името на изгледа за и model укажете параметрите на свързване за . Това е подобно на метода PartialView от страната на контролера.
Между другото, това е сървърна разполагане процес, така че клиентът вече е разположен, когато получава HTML.
Клиентът зареди Ajax частично и Button Ajax Partial бутон Ajax частично разполагане асинхронно извлече частични изгледи да div тагове. От страната на бутона сме поставили бутон, който указва бутон, който може да бъде успешно извлечен и действие, което не съществува нарочно.
<h3>Server Partial</h3>
<p>
  リクエスト後のレスポンス HTML 時点で部分ビューが展開されている。
</p>
<partial name="Partial" model="@(new List<string>() { "Server1", "Server2", "Server3" })" />
<h3>Client Load Ajax Partial</h3>
<p>
  画面表示後に自動的にビューが読み込まれる。<br />
  Web ブラウザのデバッガのブレークポイントでスクリプトの処理を止めれば
  表示のタイミングでは読み込まれていないことは確認できる。
</p>
<div id="load_area">読み込み中…。</div>
<h3>Button Ajax Partial</h3>
<p>ボタンを押すとビューが読み込まれる</p>
<button type="button" id="button1" class="btn btn-primary">Partial View 読み込み (正常)</button>
<button type="button" id="button2" class="btn btn-danger">Partial View 読み込み (エラー)</button>
<div id="message"></div>
<div id="button_area"></div>
Изгледи (Javascript) (Изгледи/Начало/индекс.cstml)
Javascript описва какво да се прави след първоначалния дисплей и какво да се прави, когато бутонът е натиснат.
Повикване функцията на обект jQuery и обадете load се M: System.Data.DataQuery.GetQuery (система.обект) метод.
Можете да получите асинхронно частично изглед, като зададете целевото действие (URL) като първи аргумент.
Ако извлеченото съдържание е HTML, то може да бъде вградено като HTML в обекта jQuery.
Вторият аргумент може да бъде функция за обратно повикване, която ви позволява да се обърнете към възстановения статус и т.н. Възможно е процесът да се разклони в зависимост от това дали полученият резултат е нормален или грешка.
Тази функция може да бъде заменена с функция или функция, но load get тя прави малко ajax повече.
$(document).ready(function () {
  // 画面表示後のタイミングで読み込む
  $("#load_area").load("/Home/PartialLoad");
  // ボタンを押したときに読み込む
  $("#button1").click(function () {
    // 存在するアクションを指定
    loadPartialView('/Home/PartialButton');
  });
  $("#button2").click(function () {
    // 存在しないアクションを指定
    loadPartialView('/Home/PartialButton_xxxxxxxx');
  });
});
// 指定したパスの partial view を読み込む
function loadPartialView(loadPath) {
  $("#button_area").text('読み込み中…。');
  $("#button_area").load(loadPath, function (response, status, xhr) {
  // status === 'error' ならエラーと判断
  if (status === 'error') {
    $('#message').text('エラー (status : ' + xhr.status + ', statusText : ' + xhr.statusText + ')');
  } else {
    $('#message').text('正常 (status : ' + xhr.status + ', statusText : ' + xhr.statusText + ')');
  }
});