当打开或关闭jQueryUi对话框时,在MVC中触发控制器操作
Trigger controller actions in MVC when jQueryUi dialog is opened or closed
我的模型看起来像:
class Store
{
...
virtual ICollection<StoreItem> items;
...
}
商店视图显示商店属性以及包含项目和StoreItem属性的表。我希望当点击一个Item,并显示一个jQuery UI对话框来编辑Item模型时。为此,我为StoreItem创建了Views操作,并在对话框中嵌入了一个部分框架。
类似于:
<div id="modaldlg" title="Edit item?">
@using (Ajax.BeginForm(
new AjaxOptions
{
HttpMethod = "get",
InsertionMode = InsertionMode.Replace,
}))
{
@Html.Action("Edit", "StoreItem")
}
</div>
我的问题:
- 加载父页面时会触发StoreItem控制器操作。我希望它在显示对话框时触发,因为它取决于单击的项目
- 当我关闭jQuery对话框时,我想触发一个post->StoreItem的控制器操作。我该怎么做
虽然我对解决方案的描述非常准确,因为我不确定父视图的结构,但我正在我的一个项目中做类似的事情。我是这样做的:
$('.itemContainer').on('click', '#buttonId', function (event) {
event.preventDefault();
$("#PlaceholderDiv").dialog({
autoOpen: true,
width: 450,
height: 450,
resizable: false,
title: 'Edit Item',
modal: true,
open: function () { //Use the open handler to load data into the dialog.
$('#loadingAnimation').show();
$(this).load('/Controller/Action/' + itemId, function(){$('#loadingAnimation').hide();});
},
close: function () {
$.ajax({
type: "POST",
url: $('#formId').attr('action'),
data: $('#formId').serialize()})
.done(setTimeout(function() {RefreshPartial()}, (delayInms)));
},
buttons: {
Close: function () {
$(this).dialog("close");
}
}
});
return false;
});
相关文章:
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- 以非ajax方式将js对象传递给mvc操作
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- 如何在asp.net mvc 3上进行触摸屏操作
- 单击jquery确认按钮后,处理到mvc操作
- 我如何从javascript文件中AJAX发布到MVC操作
- asp.net mvc操作方法发布除json数据之外的数据
- 通过javascript将包含数组的对象数组传递给MVC操作
- Javascript对象数组到MVC操作几乎不起作用,但不是完全
- 如何通过MVC操作方法显示/隐藏HTML按钮
- ASP.Net JavaScript 表的 MVC 操作链接/URL 操作 - datatable.net
- ASP.NET 对同步 AJAX 请求的 MVC 操作
- 将日期参数传递给 MVC 操作的 ajax 调用的安全方法
- 通过javascript调用MVC操作方法,但不使用AJAX
- Angular$http发布到MVC操作,参数为null
- ASP.NET MVC操作未获取参数值
- 从JavaScript调用ASP.NET MVC操作方法
- 如何取消AJAX长期运行的MVC操作客户端(javascript)
- 如何使最小日期正确地进入我的MVC操作
- ASP.net MVC - 操作不喜欢 JSON 字符串 400 错误请求