单击后,在同一页面的特定div中加载我的局部视图

时间:2014-01-14 20:04:54

标签: c# jquery asp.net asp.net-mvc razor

我有这段代码

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ManageEmployee(int cntID, string command)
{
    repository = new ContactRepository();
    if (!String.IsNullOrEmpty(command) && command.Equals("edit"))
    {
        LKIContact employees = repository.GetById(cntID);

        ViewBag.IsUpdate = true;
        return PartialView("_ManageEmployee", employees);
    }
    else
    {
        ViewBag.IsUpdate = false;
        return PartialView("_ManageEmployee");
    }
}

当我点击:

<a href='Home/ManageEmployee?cntID=${cntID}&command=edit' class='editDialog'>Edit</a>

我执行上述方法的第一部分来显示我的填充表单以进行更新 当我点击href='Home/ManageEmployee?cntID=0&command=create' class='openDialog'时,我打开空表单添加新员工。

我现在的问题是,当我点击编辑或创建时,我会在另一页面中获得所需的结果。我想要的是在停留在同一页面时将特定div(下面)中的那些表格滑出来。(在网格下)

<div id="dialog-edit"></div>
<div id="dialog-create" style="display: none"></div>

这里是我的网格将被加载的代码以及我想要加载表单的div的位置

@section featured {
<section class="featured">
    <div class="content-wrapper">
        <!-- the igHierarchicalGrid target element-->
        <table id="employeeGrid" style="width: auto;"></table>
        <p>
            <!--<a id='openDialog' href='Home/CreateEmployee?cntID=0' class='openDialog ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only' style="color: white;"><button>Add Employee</button></a>-->
       </p>
    </div>
</section>

<br />
<div id="dialog-confirm" style="display: none">
    <p>
        <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
            Are you sure to delete ?
    </p>
</div>

<div id="dialog-edit"></div>

<div id="dialog-view" style="display: none"></div>

}

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您可以使用ajax调用来获取部分视图并在div中呈现它:

<script type="text/javascript">
  $(document).on("click", "#btnEdit", function () {

        $.ajax({
            url: "Home/ManageEmployee?cntID=" + myEmployeeID + "&command=edit";
            cache: false,
            success: function (html) {
                $("#dialog-edit").append(html);
            }
        });

    });
</script>

在页面底部添加此脚本,将btnEdit替换为编辑按钮的ID,并将MyEmployeeID替换为您要编辑的employeeid。

答案 1 :(得分:0)

如果您有每行的编辑按钮,您可以在链接标记中包含EmployeeId,也许作为数据属性,所以

<a href='Home/ManageEmployee?cntID=${cntID}&command=edit' data-employeeid='${cntID}' class='editor'><button>Edit</botton></a>

然后使用afzalulh中的示例只需选择数据属性

<script type="text/javascript">
  $(document).on("click", ".editor", function () {

        var myEmployeeID = $(this).data('employeeid');

        $.ajax({
            url: "Home/ManageEmployee?cntID=" + myEmployeeID + "&command=edit";
            cache: false,
            success: function (html) {
                $("#dialog-edit").append(html);
            }
        });

    });
</script>