【问题标题】:How to pass selected item to controller MVC5如何将所选项目传递给控制器​​ MVC5
【发布时间】:2016-12-22 23:13:08
【问题描述】:

控制器:

public ActionResult searchGroup(int groep)
        {
            var returnValue = convertWerkvorm(db.Werkvormens.Where(f => f.GroepenWerkvormID == groep).ToList());
            return View(returnValue);
        }

部分视图:

@model alina1617.Models.DropDownModel

<h2>Groepen</h2>
<div>
        <div><select id="@Html.IdFor(m => m.selectedItem)" name="@Html.NameFor(m => m.selectedItem)">
            @foreach (var groepModel in ViewBag.groepen)
            {
                <option value="@groepModel.id" title="@groepModel.Beschrijving">@groepModel.Naam</option>
            }
        </select>
        <input type="button" id="zoekgroep" value="Zoeken" onclick="location.href='@Url.Action("Create", "WerkvormController")'" />
        </div>
    </div>

我想在单击按钮时将所选组的 ID 传递给控制器​​。我应该使用 Jquery 还是可以使用 MVC 相关的东西来做到这一点?

【问题讨论】:

  • 如果您在客户端操作,那么您将无法访问任何与 MVC 相关的内容。使用 JavaScript,可能是 jQuery。
  • 我将如何使用 Jquery 做到这一点?
  • 关于如何使用 jQuery 向服务器发送信息的教程几乎是无限的。

标签: jquery asp.net-mvc


【解决方案1】:
@Html.DropDownListFor(x => x.Selectedvalue, new SelectList(ViewBag.groepen, "id", "Naam"), "Select", new { @class = "form-control" })

使用 dropdownfor 并在你的模型中添加 Selectedvalue 属性,并将所有这些放在表单中并使按钮输入类型提交

【讨论】:

  • 问题是我不能使用 DropDownListFor 因为你不能添加像标题这样的自定义属性。
  • 可以在html属性中
【解决方案2】:

你应该用 jQuery 还是 MVC 来做这件事是主观的,所以我把它留给你。无论哪种方式,你都可以做到。谷歌搜索一下,例子很多。

至于“MVC 相关”,看看这样的东西(只是一个例子):

@Html.DropDownList("groep", (SelectList)ViewBag.Groepen)

您需要将列表和按钮包装在一个表单标签中,并将您的按钮类型也更改为提交。你在控制器中的方法可能需要[HttpPost] 属性,如果它不存在的话。

您还可以查看类似的DropDownListFor 对象。

我相信您可能会问一些已经得到很多回答的问题。看看this postthis one

【讨论】:

    猜你喜欢
    • 2020-03-04
    • 2016-10-29
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多