首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个额外的参数传递给窗体RePost上的MVC控制器索引方法

将一个额外的参数传递给窗体RePost上的MVC控制器索引方法
EN

Stack Overflow用户
提问于 2019-05-10 18:38:54
回答 1查看 35关注 0票数 0

我有一个MVC控制器,它接受两个参数。

代码语言:javascript
复制
public class RiskController : Controller
{
    public ActionResult Index(int SquadId, string RiskItems = "Open")
    {
        // Do Stuff here, Populate Model, and then...
        ViewBag.SquadID = SquadId;
        Return View(Model);
    }
}

在我的视图中,我有一个带有下拉列表的表单。

代码语言:javascript
复制
@using (Html.BeginForm("Index", "Risk", FormMethod.Get))
{
     @Html.DropDownList("RiskItems", new List<SelectListItem>
      {
              new SelectListItem() {Text = "Open Risks only", Value="Open"},
              new SelectListItem() {Text = "Closed Risks only", Value="Closed"},
              new SelectListItem() {Text = "All Risks", Value="All"}
      }, new { @class = "form-control", @style = "width:auto" })

    <button type="submit" value="Search" class="btn btn-success">Search</button>       
}

我的目标是当我从下拉列表中选择一个值并点击提交按钮时重新加载视图。

使用我当前的代码,我能够post表单,并且下拉列表的值成功地发布到我的控制器中的RiskItems参数中。但是如何从表单中传递SquadID参数呢?

我已经在ViewBag中捕获了SquadID参数的值。我可以使用它来重新发送控制器的Index方法中的值吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-10 18:57:43

我找到了解决方案。我不得不将表单方法从Get改为Post,并使用了这个。

代码语言:javascript
复制
@using (Html.BeginForm("Index", "Risk", new { SquadId = @ViewBag.SquadID }, FormMethod.Post, new { enctype = "multipart/form-data" }))` 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56075925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档