如果用户在加载仪表盘页面的动作已经FollowUpItems我将检测,并存储在ViewBag信息。例如,
public ActionResult Dashboard()
{
ViewBag.HasFollowupItems = UserHasFollowupItems();
return View();
}
在这个例子中,UserHasFollowupItems()
返回一个字符串,类似“真”假”。
在仪表板视图中,添加一个空div到其中的模态数据将被加载
<div id="followup_items"></div>
然后在限定的模态,并确定相同的视图中添加的document.ready()如果模态应加载:
$(document).ready(function()
{
// define modal
$("#followup_items").dialog({
autoOpen: false,
height: 'auto',
width: 825,
title: 'Followup Items',
position: [75, 75],
modal: true,
draggable: true,
closeOnEscape: true,
buttons: {
'Close': function()
{
$(this).dialog('close');
}
},
close: function()
{
$('.ui-widget-content').removeClass('ui-state-error');
},
});
if(@ViewBag.HasFollowupItems == 'true')
{
$('#followup_items').load("/FollowupItems/Load", function (data, txtStatus, XMLHttpRequest)
{
$('#followup_items').dialog('open');
}
});
});
在这个例子中/FollowupItems/Load
是URL到适当的控制器/动作,对于该视图生成的数据。你是对的,这个视图是一个局部视图,加载到页面上的空的followup_items div中。
因此,您可以在视图中的任何位置使用@ViewBag对象,在这种情况下传递布尔值,指示是否应该加载/打开模式。我还没有找到在外部JavaScript文件中使用ViewBag的方法,所以我通常在我的视图中使用嵌入式脚本标记,因此我可以使用ViewBag。
您也可以以相同的方式(/FollowupItems/Load/@ViewBag.Userid
)或后续操作需要的任何其他数据添加用户标识。
你有这个项目的jQuery? –
是的,我喜欢。我可以添加任何我想添加的内容。 – TheGeekYouNeed