Mat*_*ieu 2 asp.net-mvc jquery asp.net-mvc-3
我有一个MVC视图,我想从中弹出一个jQuery对话框.在对话框中,我想渲染一个视图,但控制器操作需要一个参数.这就是我所拥有的:
$(document).ready(function () {
$dialog = $('<div></div>')
.dialog({
open: function(event, ui) {
$(this).load("@Url.Action("Edit", "Agenda", new {id = ???})"); //Line to fix
},
autoOpen: false
});
Run Code Online (Sandbox Code Playgroud)
进一步说,我有这个代码调用对话框.请注意,id我想传递给控制器的动作是calEvent.id
$('#calendar').fullCalendar({
eventClick: function (calEvent, jsEvent, view) {
$dialog.dialog('open');
}
});
Run Code Online (Sandbox Code Playgroud)
所以问题是:我如何调整我的代码以传递calEvent给id参数?
jQuery提供了一种为您存储数据的方法,无需使用虚拟属性或查找问题的解决方法.
使用jquery对话框对象上的.data()方法在调用它时将所需的任何数据绑定到对话框,并在open()函数中使用相同的方法将其读出:
$('#calendar').fullCalendar({
eventClick: function (calEvent, jsEvent, view) {
$dialog.data('id', calEvent.id).dialog('open');
}
});
Run Code Online (Sandbox Code Playgroud)
和
$(document).ready(function () {
$dialog = $('<div></div>')
.dialog({
open: function(event, ui) {
url = "@Url.Action("Edit", "Agenda", new {id = "XXX"})";
url.replace( "XXX", $(this).data('id') );
$(this).load(url);
},
autoOpen: false
});
Run Code Online (Sandbox Code Playgroud)