全て。前もって感謝します。
ドロップダウンの選択が変更される (またはボタンが押される) たびに多くの更新を行うウィンドウがあります。更新時にコントローラーが呼び出されていますが、何らかの理由でビューが呼び出されていません/更新されていません。基本的な何かが欠けていますか?
窓:
@(Html.Kendo().Window()
.Name("EditWindow")
.Title("Edit Contact")
.LoadContentFrom("_ContactEdit", "Contacts", new { selectedContact = Model.ContactId })
.Content("Loading...")
.Visible(false)
.Draggable()
.Resizable()
.Width(400)
.Modal(true)
.Actions(actions => actions.Pin().Minimize().Maximize().Close())
)
コードを更新します (javascript で):
var combobox = $("#ContactId").data("kendoComboBox");
var ContactId = combobox.value();
var window = $("#EditWindow").data("kendoWindow");
window.refresh({
url: "../../Contacts/_ContactEdit",
data: { selectedContact: ContactId }
//url: "/Contacts/_ContactEdit/?selectedContact=ContactId"
});
コントローラ:
[HttpGet]
public ActionResult _ContactEdit(int selectedContact)
{
var entities = from r in dbContext.Contacts
where r.ContactId == selectedContact
select r;
if (entities.Any())
{ return PartialView(entities.First()); }
else
{ return HttpNotFound("Contact does not exist."); }
}
部分ビューは、最初のウィンドウの読み込み時に呼び出されて入力されるため、正しく機能していることがわかります。なぜ世界でそれをリフレッシュできないのですか?
編集:これが私の部分的なビューです(ウィンドウの内容):
@model PNC.CM.MBS.BizServiceTier.IIDB.Contact
@using Kendo.Mvc.Extensions
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset id="infoForm">Hello, world.
@Html.HiddenFor(model => model.ContactId, new { id = "EditWindowId" })
<br />
<label id ="ContactNameID" style="width: 130px;">Contact Name</label>
<span>
@Html.TextBoxFor(model => model.FullName, new { type = "text", id = "EditWindowName", @class = "k-textbox form-control", style = "width: 200px; cursor:default" })
</span><br />
</fieldset>
}