MVC视图未加载到引导模式对话框中

时间:2014-09-18 20:56:47

标签: twitter-bootstrap asp.net-mvc-4 razor

我正在创建一个MVC3应用程序,我在其中使用bootstrap文件。 我正在尝试在引导模式中打开AddEmployee.cshtml视图(当前正在打开)以添加新的员工记录。

我面临的问题是,当我创建一个简单的空白模态时,它会正确打开但是当我试图在模态中加载我上面提到的剃刀视图时,该模态不起作用。 我想在每个页面上链接(点击哪个模式应该打开),这就是为什么我在_Layout.cshtml中有这个链接。

我粘贴下面的代码作为参考。

1)_Layout.cshtml

<body>
<div class="container">
    <div class="row" id="sidebar">
        @Html.Partial("_sidebar") //This has the link
    </div>
    <div class="row">
        <div id="content">
            @RenderBody()
        </div>
    </div>
</div>
</body>

2)_sidebar.cshtml: -

<div class="col-xs-4" style="text-align: right;">
    <a style="cursor: pointer;" href="../Home/AddEmployee" data-toggle="modal" id="btnCreate">
    <input type="image" src="../../Images/addnewfinal.png" alt="Add New Allocation" id="btnAddNewAllocation" /><span id="spanAddNewEmployee">Add New Employee</span>
    </a>
</div>

3)控制器动作: -

public class HomeController : Controller
 {
     [HttpGet]
     public ActionResult AddEmployee()
     {
       .....
       return View();
     }
 }

4)AddEmployee.cshtml(我希望以模态显示): -

<div class="modal fade" id="addNew" aria-labelledby="#myLabel" aria-hidden="true" tabindex="-1" role="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="myLabel">Add New Employee
        </h4>
    </div>
    @using (Html.BeginForm("AddEmployee", "Home", FormMethod.Post, new { @id = "testForm" }))
    {
        <div class="modal-body">
            <div>
                @Html.EditorFor(x => x.ListOfEmployees)
            </div>
        </div>
        <div class="modal-footer">
            <button type="button" data-dismiss="modal" class="btn btn-default">
                Close
            </button>
            <button type="submit" class="btn btn-primary">
                Submit
            </button>
        </div>
    }
</div>
</div>

5)EditorFor模板(Employee.cshtml): -

<div class="form-group" id="div1">
    @Html.TextBoxFor(model => model.Id, new { @placeholder = "Id", @class = "form-control", id="userId", name = "userId", onblur="Showavailability()"})
    <span class="help-inline">@Html.ValidationMessageFor(model => model.Id)</span>
</div>
<div class="form-group">
    @Html.TextBoxFor(model => model.Name, new { @placeholder = "Name", @class = "form-control", name = "userName" })
    <span class="help-inline">@Html.ValidationMessageFor(model => model.Name)</span>
</div>

当我点击_sidebar.cshtml中的链接时,控制进入控制器操作而不是Employee.cshtml,但是模态没有创建,我得到的只是褪色屏幕。

他们的任何Javascript是否也需要为此编写? 请帮我解决这个问题。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

首先,您需要将AddEmployee.cshtml呈现为部分,以便它显示在您的页面中。其次,我不相信你可以同时拥有href="../Home/AddEmployee"data-toggle="modal" ....我的猜测是你要打开这个模式来要求确认然后创建它。如果是这样,您还必须为按钮(链接)设置模态目标。