我正在打开一个包含部分视图的 kendo.window。当我单击确定时,我想保存修改后的数据,关闭窗口并重新加载基本页面。由于某种原因,它不起作用。它将部分视图作为整页打开。
我怎样才能解决这个问题?我应该如何让我的部分视图返回以使其不作为页面打开?
谢谢,
这是我到目前为止所拥有的。
基本页面:
<div id="windowBadgeIMGDiv" class="k-content">
<div id="windowBadgeIMG" style="display:none">
</div>
<script type="text/javascript">
function editDetails(id) {
var windowBadgeIMG = $("#windowBadgeIMG");
windowBadgeIMG.kendoWindow({
modal: true,
width: "950px",
title: "Modify badge picture",
content: {
url: "/Home/BadgePicture",
data: { id: id }
},
deactivate: function () {
}
});
windowBadgeIMG.data("kendoWindow").center();
windowBadgeIMG.closest(".k-window").css({ top: 100 });
windowBadgeIMG.data("kendoWindow").open();
}
</script>
部分观点:
<%using (Html.BeginForm("BadgePicture", "Home", FormMethod.Post, new { enctype = "multipart/form-data", id = "ImgForm", name = "ImgForm" }))
{ %>
<input type="hidden" name="hdnBadgeId" id="hdnBadgeId" value="<%= Model.Id%>" />
<table>
<!--My editable fields go here-->
<tr>
<td style="padding-top: 20px;" align="center" colspan="4">
<button id="btnSubmit" type="submit"><asp:Label runat="server" Text="<%$ Resources:Global, Update %>" /></button>
</td>
</tr>
</table>
<%} %>
控制器
[HttpPost]
public PartialViewResult BadgePicture(string[] hdnBadgeId, HttpPostedFileWrapper Image1)
{
//Do some work with the data
return PartialView(model);
}
更新:我的解决方案
替换modal: true,
为iframe: true,
并content: "/Home/BadgePicture/" + id,
使用 View 而不是 PartialView。要在提交时关闭窗口:从外部内容中关闭窗口