在弹出窗口中打开局部视图

时间:2013-11-11 14:01:45

标签: javascript jquery html ajax popup

我正在尝试打开一个弹出窗口,向我的用户显示其他信息。

首先,我有点困惑:模态窗口和弹出窗口窗口之间有什么区别?

接下来,这是我到目前为止所做的:

@Html.ActionLink(Model[i].mMasterItem.CARD_NAME, "SeeCardDetails", "Item", new { @_itemID = Model[i].mMasterItem.ITEM_LISTING_IDE }, new {@class = "modal"})

modal类只是此操作链接中使用的标记,用于标识呼叫来自的链接。

接下来,控制器部分视图操作:

public ActionResult SeeCardDetails(int? _itemID)
{
    if (_itemID == null)
    {
        return RedirectToAction("Index", "Home");
    }

    if (_itemID == 0)
    {
        return RedirectToAction("Index", "Home");
    }

    CardDisplay cardToShow = mCardManager.GetCardDisplayByID((int)_itemID);

    return PartialView(cardToShow);
}

部分观点:

@model FinePlaySet.Utilities.CardDisplay

<p>This page shows!</p>

没什么好看的,我现在只是用这个来构建框架。

jQuery / javascript / ajax /我做的任何尝试:

$('#dialog-modal').dialog({
   autoOpen: false,
    width: 400,
    resizable: false,
    modal:true
});

$('.modal').click(function() {
    $('#dialog-modal').load(this.href, function() {
        $(this).dialog('open');
    });
    return false;
});

而且,最后,我认为我必须包含一个div,哪个工作是实际打开弹出/模态:

<div id="dialog-modal" title="See Card Detail"></div>

div位于我的Layout页面中,因此它始终存在。现在我对我所做的所有尝试以及我已阅读的所有内容感到困惑,我需要帮助:基本需要只是当用户点击链接时,加载CardDisplay项目并且然后在弹出窗口中显示。任何人都可以帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:2)

通过javascript在同一页面中加载模态窗口。如果要打开新的浏览器窗口或选项卡(弹出窗口),则应在链接中添加属性类型=“_ blank”(不需要javascript)。

<a href="popoup_url" target="_blank">Open popup</a>