C# MVC局部视图将我带到一个新页面,而不是将我保持在主页上

C# MVC局部视图将我带到一个新页面,而不是将我保持在主页上,c#,C#,这是我的仪表板控制器的代码 When I select an employee from the dropdownlist instead of keeping me on the main page it takes me to a new blank page for the partial view. I want the partial view to remain on the main page. My _Layout page also has these jquery files

这是我的仪表板控制器的代码

When I select an employee from the dropdownlist instead of keeping me on the main page it takes me to a new blank page for the partial view. I want the partial view to remain on the main page. My _Layout page also has these jquery files.

 @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryui")
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/bootstrap")
public ActionResult ManagerAssignedTask任务(ManagerAssignedTasksFilterViewModel赋值tasksfilterviewmodel,GridSortOptions GridSortOptions,int page=1)
{
gridSortOptions.Column=(gridSortOptions.Column==“未定义”)?null:gridSortOptions.Column;
var employeeTasks=this.\u serviceSession.EmployeeTaskRepository.filtereEmployeetasks(assignedTasksFilterViewModel.EmployeeId)
.OrderBy(gridSortOptions.Column??“CaseId”,gridSortOptions.Direction)
.AsPagination(页面,页面大小);
this.ViewBag.FundingConsultants=EmployeeHelper.FindFundingConsultants(this._masterDataSession,newroleprovider());
foreach(employeeTasks中的var任务)
{
task.AssignedBy=task.AssignedBy???“未知”;
task.Description=task.Description.Truncate(70);
task.EndUser=task.EndUser??“未知”;
}
this.ViewBag.Header=“分配的任务”;
返回PartialView(“_ManagerAssignedTaskList”,新的GridViewModel{Items=employeeTasks,GridSortOptions=GridSortOptions});
}
\u managerAssignedTaskList 这是视图的代码

       public ActionResult ManagerAssignedTask(ManagerAssignedTasksFilterViewModel assignedTasksFilterViewModel, GridSortOptions gridSortOptions, int page = 1)
        {
            gridSortOptions.Column = (gridSortOptions.Column == "undefined") ? null : gridSortOptions.Column;

            var employeeTasks = this._serviceSession.EmployeeTaskRepository.FilterEmployeeTasks(assignedTasksFilterViewModel.EmployeeId)
                .OrderBy(gridSortOptions.Column ?? "CaseId", gridSortOptions.Direction)
                .AsPagination(page, PageSize);

            this.ViewBag.FundingConsultants = EmployeeHelper.FindFundingConsultants(this._masterDataSession, new RoleProvider());

            foreach (var task in employeeTasks)
            {
                task.AssignedBy = task.AssignedBy ?? "UNKNOWN";
                task.Description = task.Description.Truncate(70);
                task.EndUser= task.EndUser ?? "UNKNOWN";
            }

            this.ViewBag.Header = "Assigned Task";
            return PartialView("_ManagerAssignedTaskList", new GridViewModel<EmployeeTask> { Items = employeeTasks, GridSortOptions = gridSortOptions });
        }
@使用System.Web.Optimization
@使用MvcContrib
@使用OMI.Web.Extensions
@模型OMI.Web.ViewModels.GridViewModel
@视图包。标题
@Html.Partial(“\u managerasignedtasksfilterbox”,新的OMI.Web.ViewModels.Dashboard.managerasignedtasksfilterviewmodel())
@Html.Grid(Model.Items,1).Sort(Model.GridSortOptions).rowtattributes(row=>newhash(@class=>row.Item.DateDue
{
columns.For(c=>Html.ActionLink(c.CaseId.ToString(),“Details”,“Case”,new{id=c.CaseId},null)).Named(“CaseId”).SortColumnName(“CaseId”);
columns.For(c=>c.EndUser).Named(“最终用户”).SortColumnName(“最终用户”);
columns.For(c=>c.StateProvince).Named(“State”).SortColumnName(“StateProvince”);
columns.For(c=>Html.ActionLink(c.EmployeeTaskId.ToString(),“详细信息”,“EmployeeTask”,新的{EmployeeTaskId=c.EmployeeTaskId},null)).Named(“任务Id”).SortColumnName(“EmployeeTaskId”);
列.For(c=>c.AssignedBy).Named(“AssignedBy”).SortColumnName(“AssignedBy”);
columns.For(c=>c.DateDue).Format(“{0:M/d/yyyy}”).Named(“到期日”).SortColumnName(“到期日”);
columns.For(c=>c.Description).Named(“Description”).SortColumnName(“Description”);
columns.For(c=>@Html.Raw(“”).Encode(false).SortColumnName(“”).Visible(false);
})
@Html.Raw(Html.Pager(Model.Items.ToString())
这是我的部分视图代码-\u managerasignedtasksfilterbox

    @using System.Web.Optimization
    @using MvcContrib
    @using OMI.Web.Extensions
    @model OMI.Web.ViewModels.GridViewModel<OMI.Data.Model.EmployeeTask>

    <h3>@ViewBag.Header</h3>
    @Html.Partial("_ManagerAssignedTasksFilterBox", new OMI.Web.ViewModels.Dashboard.ManagerAssignedTasksFilterViewModel())
    @Html.Grid(Model.Items, 1).Sort(Model.GridSortOptions).RowAttributes(row => new Hash(@class => row.Item.DateDue < DateTime.Now ? "assignTaskRowColor" : "")).Columns(columns =>
    {
        columns.For(c => Html.ActionLink(c.CaseId.ToString(), "Details", "Case", new { id = c.CaseId }, null)).Named("Case Id").SortColumnName("CaseId");
        columns.For(c => c.EndUser).Named("End User").SortColumnName("EndUser");
        columns.For(c => c.StateProvince).Named("State").SortColumnName("StateProvince");
        columns.For(c => Html.ActionLink(c.EmployeeTaskId.ToString(), "Details", "EmployeeTask", new { employeeTaskId = c.EmployeeTaskId }, null)).Named("Task Id").SortColumnName("EmployeeTaskId");
        columns.For(c => c.AssignedBy).Named("Assigned By").SortColumnName("AssignedBy");
        columns.For(c => c.DateDue).Format("{0:M/d/yyyy}").Named("Due Date").SortColumnName("DateDue");
        columns.For(c => c.Description).Named("Description").SortColumnName("Description");
        columns.For(c => @Html.Raw("<a title='Done' class='btn btn-mini btn-success' href='#' onclick = 'markTaskAsComplete(" + c.EmployeeId + "," + c.EmployeeTaskId) + "," + c.CaseId + ")'><i class='icon-ok icon-white'></i></a> ").Encode(false).SortColumnName("").Visible(false);
    })
    @Html.Raw(Html.Pager(Model.Items).ToString())
@使用OMI.Web.Extensions
@模型OMI.Web.ViewModels.Dashboard.ManagerassignedTasksFilterService模型
搜索员工
@使用(Html.BeginForm(“ManagerAssignedTask”,“Dashboard”,FormMethod.Get,new{@class=“form inline”,id=“employeeDropDown”,target=“\u self”}))
{
@Html.DropDownListFor(m=>m.EmployeeId,新选择列表(ViewBag.FundingConsultants,“Value”,“Text”),新{onchange=“$('#employeeDropDown').submit()”)
}

有人知道是什么导致了这个问题吗?

是的,您正在onchange处理程序中为下拉列表调用
.submit()
。这将导致表单提交,加载新页面。我希望能够根据从下拉列表中选择的内容筛选网格,因此需要.submit()方法。仍然需要解决我的问题。好吧,这不是你正在做的。表单帖子,特别是那些带有Get方法的帖子,会导致页面在提交时重新加载。听起来你需要开发一个Ajax方法,但这远远超出了这里简单回答的范围。你的意思是使用Ajax.BeginForm而不是Html.BeginForm吗?是的,你是在onchange处理程序中为下拉列表调用
.submit()
。这将导致表单提交,加载新页面。我希望能够根据从下拉列表中选择的内容筛选网格,因此需要.submit()方法。仍然需要解决我的问题。好吧,这不是你正在做的。表单帖子,特别是那些带有Get方法的帖子,会导致页面在提交时重新加载。听起来你需要开发一个Ajax方法,但这远远超出了这里简单回答的范围。你是说使用Ajax.BeginForm而不是Html.BeginForm吗?
@using OMI.Web.Extensions
@model OMI.Web.ViewModels.Dashboard.ManagerAssignedTasksFilterViewModel

<div class="well">
    <h3>SEARCH EMPLOYEE</h3>
    @using (Html.BeginForm("ManagerAssignedTask", "Dashboard", FormMethod.Get, new { @class = "form-inline", id = "employeeDropDown", target="_self"}))
    {
        @Html.DropDownListFor(m => m.EmployeeId, new SelectList(ViewBag.FundingConsultants,"Value","Text"), new { onchange = "$('#employeeDropDown').submit()" })
    }
</div>