PartialView中的Bootstrap警报

时间:2016-02-19 13:56:24

标签: c# asp.net-mvc twitter-bootstrap view asp.net-mvc-partialview

我有 PartialView ,我呈现指定的局部视图 - _GlobalPartialView 。 部分 _GlobalPartialView.cshtml

<div class="alert alert-success">
    <button type="button" class="close" data-dismiss="alert">&times;</button>
    <strong>@result.Message</strong>
</div>

在我的PartialView上:

@Html.Partial(T4.Shared.Views._GlobalMessagesPartial)

在PartialView消息上显示如下: address

On View如下: enter image description here

在视图上我可以关闭警告框,但不能关闭PartialView。为什么?怎么解决?

2 个答案:

答案 0 :(得分:0)

这可能没有理由不起作用。

为了确保您的JQuery可用于部分视图,您可以尝试在部分视图页面中添加jquery引用。希望你没有类似http://forums.asp.net/t/1649526.aspx/1

这样的问题

也请参考Jquery or Javascript problem in my partial view

答案 1 :(得分:0)

所以这个相当陈旧,但我需要这样的东西,所以我决定发布我的解决方案。

这是我的部分视图:

@* Message Box *@
@if (ViewBag.AlertMessage != null)
{
<div class="col-sm-12">

    @if (ViewBag.AlertDismissable == true)
    {
        <div class="alert alert-dismissible @ViewBag.AlertType" role="alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <span aria-hidden="true">&times;</span>
            </button>
            @ViewBag.AlertMessage
        </div>
    }
    else
    {
        <div class="alert @ViewBag.AlertType" role="alert">@ViewBag.AlertMessage</div>
    }

    @*<div class="alert alert-success" role="alert">@ViewBag.Message</div>*@

</div>

}

我的基类中有一些实用程序例程来设置ViewBag:

    public void SetBSViewBagAlert(bsAlertType alerttype, string message)
    {
        SetBSViewBagAlert(alerttype, message, false);
    }

    public void SetBSViewBagAlert(bsAlertType alerttype, string message, bool dismissable)
    {
        // Translate from enum to constant to avoid typos... 
        switch (alerttype)
        {
            case bsAlertType.success:
                ViewBag.AlertType = ALERT_SUCCESS;
                break;
            case bsAlertType.info:
                ViewBag.AlertType = ALERT_INFO;
                break;
            case bsAlertType.warning:
                ViewBag.AlertType = ALERT_WARNING;
                break;
            case bsAlertType.danger:
                ViewBag.AlertType = ALERT_DANGER;
                break;
            default:
                ViewBag.AlertType = ALERT_INFO;
                break;
        }

        ViewBag.AlertDismissable = dismissable;
        ViewBag.AlertMessage = message;
    }

一旦我知道我有错误,我就会从控制器设置消息:

SetBSViewBagAlert(bsAlertType.warning, ModelStateErrorsString(), true);

这是视图中唯一需要的行:

@Html.Partial("_AlertBoxPartial")

我还在调整这个问题。如果我进行更改,我会发布更新。