无法使用asp.net mvc url.action链接显示引导程序对话框

时间:2015-01-23 01:35:03

标签: javascript jquery asp.net asp.net-mvc twitter-bootstrap

我显然错过了能够显示带有网址操作链接的模态对话框的内容。

我知道如何从jQuery点击事件中显示引导对话框,但我希望做的是以下内容:

我有一个带有url.action链接的Index页面。当用户点击链接时,我链接到相应的控制器操作方法(编辑),没有任何问题(在调试期间看到),希望显示引导模式弹出对话框。但是,不会弹出模态对话框。

如果我在操作链接上包含数据目标,则该链接甚至不起作用。如果我将其删除,它将进入View,但不会弹出模态对话框,因为链接上没有任何内容说明数据目标是什么。我希望我在模式弹出窗口的目标链接上的语法不正确。我希望如果我为对话框包含正确的bootstrap属性,它会弹出。

我真的可以在这里使用一些帮助,非常感谢。

以下是我的索引页面上的链接(包含数据目标)。请再次注意,如果我从下面的代码段排除“数据切换”和“数据目标”,我会进入View,但会弹出 no 对话框。

data-toggle="modal", data-target="#categoryEditModal"

<a href="@Url.Action("Edit", "Category", new { area = "Categories", id = item.CategoryID }) data-toggle="modal", data-target="#categoryEditModal"><span class="glyphicon glyphicon-edit" aria-hidden="true"></span>Edit</a>

这是我的目的地视图。我可以验证在调试时,模型中是否填充了Model.CategoryID和Model.CategoryDe​​scription。

<div class="modal" id="categoryEditModal" tabindex="-1" role="dialog" aria-labelledby="categoryModal-label" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <h4 class="modal-title" id="categoryModal-label">Category Description</h4>
                </div>
                <div class="modal-body">
                    <div class="form-group">
                        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                        <div class="form-group">
                            @Html.LabelFor(model => model.CategoryDescription, htmlAttributes: new { @class = "control-label required col-md-2 col-sm-2 col-xs-2" })
                            <div class="col-md-10">
                                @Html.EditorFor(model => model.CategoryDescription, new { htmlAttributes = new { @class = "form-control" } })
                                @Html.ValidationMessageFor(model => model.CategoryDescription, "", new { @class = "text-danger" })
                            </div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary" id="btnSaveCategory">Save</button>
                </div>
            </div>
        </div>
    </div>

在索引页面上编辑代码以显示对话框

<a href="@Url.Action("Edit", "Category", new { area="Categories", id = item.CategoryID })"><span class="glyphicon glyphicon-edit" aria-hidden="true"></span>Edit</a>

1 个答案:

答案 0 :(得分:5)

在你看来有

<a href="@Url.Action("Edit", "Category", new { area = "Categories", id = item.CategoryID }) data-toggle="modal", data-target="#categoryEditModal" data-modal=""><span class="glyphicon glyphicon-edit" aria-hidden="true"></span>Edit</a>


<div id='myModal' class='modal fade in'>
    <div class="modal-dialog">
        <div class="modal-content">
            <div id='myModalContent'></div>
        </div>
    </div>
</div>

添加jquery:

$(function () {

    $.ajaxSetup({ cache: false });

    $("a[data-modal]").on("click", function (e) {

        $('#myModalContent').load(this.href, function () {


            $('#myModal').modal({
                /*backdrop: 'static',*/
                keyboard: true
            }, 'show');

        });

        return false;
    });
});

在你的控制器中返回局部视图:

    Return PartialView("partialviewname")