如何将tabpanel的键从视图传递到控制器asp mvc

Posted

技术标签:

【中文标题】如何将tabpanel的键从视图传递到控制器asp mvc【英文标题】:how to pass key of tabpanel from wiew to controller asp mvc 【发布时间】:2015-02-12 14:32:00 【问题描述】:

我有一个选项卡面板,允许我在两个窗口之间切换,我将我的选择发送给我的控制器以在每个 tabuleur 中执行不同的语句,例如,如果我有 id = proj_tab_1 它返回我输入,如果 id = proj_tab_2 它返回输出视图,但我不知道如何在视图和控制器之间传递电子表格关键信息这是我的代码

查看:

 <div class="tab-content">

    <div class="tab-pane fade in active" id="proj_tab_1" >

        @html.Partial("_InputFilesList", Model)
    </div>



    <div class="tab-pane fade" id="proj_tab_2" >
        @Html.Partial("_OutputFilesList", Model)
    </div>

</div>

控制器:

  public ActionResult GetFilesListByType(MonitorFilesModel model)
        
            model.FillDDL();
            model.GetFilesListByType();
            ViewBag.Success = true;

//if tableur 1
                return View("_InputFilesList", "~/Views/Shared/_AjaxLayout.cshtml", model);
            //if tableur 2
            return View("_OutputFilesList", "~/Views/Shared/_AjaxLayout.cshtml", model);

        

【问题讨论】:

【参考方案1】:

在我看来,您不需要向控制器发送密钥。最简单的方法,使用 javascript(我使用 jquery,但由你决定),类似这样:

<script>

 $('dom_element').on('event', function()

   var rel = $(this);
   var pane = rel.closest('.tab-pane');
   pane.removeClass('in');
   pane.removeClass('active');
   pane.next('.tab-pane').addClass('in active');
 );
</script>

否则,您可以在表单中设置部分视图,并在提交按钮上使用标准操作重定向到您需要的操作。

顺便说一句,我认为您必须返回部分视图,而不仅仅是视图。

希望,它会有所帮助。

【讨论】:

以上是关于如何将tabpanel的键从视图传递到控制器asp mvc的主要内容,如果未能解决你的问题,请参考以下文章

如何将复杂的键值参数表单视图传递给mvc中的控制器?

如何将项目列表从视图传递到控制器(ASP.NET MVC 4)

如何在asp.net mvc中将数据从视图传递到控制器

ASP .NET MVC 3 - 将参数从视图传递到控制器

将 ID 从视图传递到控制器 (ASP.NET)

ASP.Net MVC 将数据从视图传递到不同文件夹中的控制器