我有一个场景对我来说听起来就像这个SO post以及其他有类似问题的人......只是我不理解别人从这些帖子中得到了什么,因为我的实现部分失败了
基本上我有一个页面,上面有一个用于添加新记录的按钮。单击“添加”按钮,将打开一个模态对话框。模态对话框是与父页面不同的视图,当然还有创建记录所需的字段。
单击保存(记住保存是模式上的一个按钮,我希望我的保存事件可以触发,但它永远不会...也不会在开发工具或提琴手中报告任何错误。这是启动模式的代码和在评论中你会看到我有多远。
$(document).ready(function ()
{
$("#new").click(function (e) //attach new button works great
{
e.preventDefault(); //seems to work
var ischanging = false; //hard coded vars for testing
var financierid = 0;
var detailsWindow = $("#window").data("kendoWindow");//handle if existing window
if (!detailsWindow)
{
// create a new window, if there is none on the page
detailsWindow = $("#window")
// set its content to 'loading...' until the partial is loaded
.html("Loading...")
.kendoWindow(
{
....removed options for brevity
})
.data().kendoWindow.bind('refresh', function (e)//attach refresh
{
alert('bound'); //this alert displays after modal loads
$('#save').click(function (event)
{
alert('dqewewr');
//this alert never fires nor anything subsequent
event.preventDefault();
// take over and perform ajax post
alert('parent');
$.ajax(
{
type: "POST",
url: "@Html.Raw(Url.Action("CreateEdit", "Finance"))",
data: $(this).serialize(),
success: function (data) {
//here we check if called resulted in Success/Failure
if (data.Result === "Success")
{
alert('Finis');
}
else {
//Show error message or whatever.
}
}
})
});
}).center();
}
detailsWindow.open();
});
});
我的模式是不包装在表单标记中...如果我使用ajax帖子,我认为我不需要它吗?
<span id="save" class="k-button" style="margin-right:10px;">Save</span>
最后只是为了确保我很清楚。我的父页面是Configure.cshtml,我的模态是CreateEdit.cshtml ....换句话说,当生成模态时,我们点击控制器执行它的工作然后返回相应填充模型的CreateEdit视图。
这让我整个星期都感到沮丧,虽然我已经能够处理其他项目,但我现在正处于这个任务完成之前的最后一件事。
非常感谢您的帮助。
Stephen Muecke ......如果你看到这个改变你的评论要回答,我会标记这就是为我解决问题的原因。