Asp.net mvc 4 ASP.NET MVC如何在Html.NET中使用两个Actionresults?

Asp.net mvc 4 ASP.NET MVC如何在Html.NET中使用两个Actionresults?,asp.net-mvc-4,Asp.net Mvc 4,我正试图做与这个问题描述的相同的事情,但差异太大,以至于我真的不知道如何将其应用到我的项目中: 我的视图有3个下拉列表(profilelist、connected salarylist和not connected salarylist) 看起来像这样: <div class="row bgwhite"> @using (Html.BeginForm("GetConnectedSalaries", "KumaAdmin", FormMethod.Get, ne

我正试图做与这个问题描述的相同的事情,但差异太大,以至于我真的不知道如何将其应用到我的项目中:

我的视图有3个下拉列表(profilelist、connected salarylist和not connected salarylist)

看起来像这样:

  <div class="row bgwhite">
           @using (Html.BeginForm("GetConnectedSalaries", "KumaAdmin", FormMethod.Get, new { Id = "ProfileListForm" }))
            {
              <div class="four columns list list1">
                  @Html.DropDownList("Profiles", (SelectList) ViewBag.Profiles, "--Välj profilgrupp--",
                  new 
                  {
                    //onchange = "$('#ProfileListForm')[0].submit();"
                    // Submits everytime a new element in the list is chosen
                    onchange = "document.getElementById('ProfileListForm').submit();"
                  })
              </div>
            }
            @using (Html.BeginForm("Index", "KumaAdmin", FormMethod.Get, new { Id = "SalaryListForm" }))
            {
                <div class="four columns list list2" style="margin-top:-19px;">
                    @Html.DropDownList("Salaries", (SelectList) ViewBag.Salaries, "--Kopplade LöneGrupper--") 
                </div>
            }

            @using (Html.BeginForm("GetNOTConnectedSalaries", "KumaAdmin", FormMethod.Get, new { Id = "NotConSalaryListForm" }))
            {
                <div class="four columns list list2" style="margin-top:-19px;">
                    @Html.DropDownList("Salaries", (SelectList)ViewBag.NotConSalaries, "--Ej Kopplade LöneGrupper--") 
                    <input style="float: left;" type="submit" value="Knyt" />
                </div>
            }
         </div>
我不想做的事:

当我在profilelist中选择一个元素时,我想调用2个actionresults,上面显示的一个,第二个将填充我的第三个列表,该列表将包含“not connected”。 第二个行动结果:

 public ActionResult GetNOTConnectedSalaries(int Profiles = -1)
    {
        Model.SalaryGroups = AdminManager.GetNOTConnectedSalaries(Profiles);
        ViewBag.NotConSalaries = new SelectList(Model.NotConSalaryGroups, "Id", "SalaryName", "Description");

        return (Index());
    }
我不想使用AJAX/JSON,严格来说是MVC。 我读了上面链接的问题,但不知道如何将其应用到我的项目中,或者是否有可能这样做

如果需要更多的信息,请询问,我会尽力提供


谢谢大家!

我非常确定,最好的方法是有两个actionresult,我完全不知道解决方案,我可以从同一个actionresult调用我的两个db方法并填充这两个列表

简单解决方案:

  [HttpGet]
    public ActionResult GetSalaries(int Profiles = -1)
    {
        Model.SalaryGroups = AdminManager.GetConnectedSalaries(Profiles);
        ViewBag.Salaries = new SelectList(Model.SalaryGroups, "Id", "SalaryName", "Description");
        Model.NotConSalaryGroups = AdminManager.GetNOTConnectedSalaries(Profiles);
        ViewBag.NotConSalaries = new SelectList(Model.NotConSalaryGroups, "Id", "SalaryName", "Description");

        return (Index());
    }
如果我浪费了你的时间,我很抱歉:(但希望这能帮助其他试图这样做的人。)


但是,如果有一种方法可以在两个actionresults中实现这一点,那么我将把这个问题留待讨论,看看它是如何实现的。为什么不将两个操作的逻辑都放在一个操作中,因为从技术上讲,客户端只执行一个操作,尽管您希望返回两个结果。
  [HttpGet]
    public ActionResult GetSalaries(int Profiles = -1)
    {
        Model.SalaryGroups = AdminManager.GetConnectedSalaries(Profiles);
        ViewBag.Salaries = new SelectList(Model.SalaryGroups, "Id", "SalaryName", "Description");
        Model.NotConSalaryGroups = AdminManager.GetNOTConnectedSalaries(Profiles);
        ViewBag.NotConSalaries = new SelectList(Model.NotConSalaryGroups, "Id", "SalaryName", "Description");

        return (Index());
    }