ASP.NET MVC 4
の最新バージョンを使用していjQuery
ます。
支店番号を入力するためのテキストボックスがあります。このテキスト ボックスに支店番号を入力してフォーカスを失ったら、AJAX 呼び出しを実行して支店名を取得する必要があります。次に、このブランチ名をビューに表示する必要があります。これは、表示のみを目的としており、編集するためではありません。
テキストボックスの HTML マークアップとブランチ名の「テキスト」:
<td class="edit-label">Branch Number: <span class="required">*</span></td>
<td>
@Html.TextBoxFor(x => x.BranchNumber, new { maxlength = "6" })
@Html.Display("BranchName", new { id = "BranchName" })
</td>
私のjQueryコード:
$('#BranchNumber').blur(function () {
var url = '@Url.Action("GetBranchName")';
var data = { branchNumber: $('#BranchNumber').val() };
$.getJSON(url, data, function (data) {
$('#BranchName').text(data); // Need to have an element to populate the data
});
});
サービスを呼び出してブランチの名前を戻すアクション メソッド:
public ActionResult GetBranchName(long branchNumber)
{
Check.Argument.IsNotNegative(branchNumber, "branchNumber");
string branchName = myService.GetBranchName(branchNumber);
return Json(branchName, JsonRequestBehavior.AllowGet);
}
私のビューモデル:
public class MyViewModel
{
public long BranchNumber { get; set; }
public long BranchName { get; set; }
}
ブランチ名を返すときは、それをビューに表示する必要があります。どのように表示するのが最適なのかわかりません。LabelFor と DisplayFor を試しましたが、表示されないため、ブランチ名が返されたときにコントロールが見つからないため、表示されません。Textbox は正常に動作しますが、ユーザーがブランチの名前を変更できるようにしたくありません。
これに対する最善の解決策は何ですか?span 要素を用意して、ここにブランチ名を表示するだけでいいですか?