Javascript 如何将视图中的“”值放入控制器的“ActionResult”中?

Javascript 如何将视图中的“”值放入控制器的“ActionResult”中?,javascript,c#,jquery,asp.net,asp.net-mvc,Javascript,C#,Jquery,Asp.net,Asp.net Mvc,我有一个标签和一个按钮。单击按钮时,将调用控制器中的actionResult。像这样 <button type="button" onclick="location.href='@Url.Action("GetAllItems", "Items")'">Get Items</button> selectedItem是我要存储selectedText或selectedValue的变量。但我不知道怎么做 这是标签 请提供帮助。您可以使用以下代码在操作方法中获取select的

我有一个标签和一个按钮。单击按钮时,将调用控制器中的actionResult。像这样

<button type="button" onclick="location.href='@Url.Action("GetAllItems", "Items")'">Get Items</button>
selectedItem是我要存储selectedText或selectedValue的变量。但我不知道怎么做

这是标签


请提供帮助。

您可以使用以下代码在操作方法中获取select的值。请注意,您必须将html select元素的name属性传递给请求

var selectedValue = Request["Items"];
此外,请确保单击的按钮使用下面的代码提交表单

主要的一点是,如果html元素和submit按钮在同一个表单中,您只能使用Request对象访问C代码中的html元素值。如果您使用重定向用户而不是提交表单的按钮,那么这将不起作用,因此它必须是提交类型按钮,如下面的代码所示

@using (Html.BeginForm("YourActionName", "ControllerName")) {

          <select style="width:170px" id="ItemsID" name="Items"></select>

          <input type="submit" value="Submit Data" id="btnSubmit" />

}

location.href未发送POST请求。你要做的是在你的ActionResult中放置一个表单标签来发出POST请求

<form action='yourAction'>
<select name='name'></select>
<button type="submit">Get Items</button>
</form>

您可以使用更改事件的AJAX绑定将所选值传递到控制器操作方法的参数中。您已经了解如何使用AJAX调用了吗?我不希望它绑定在onChange事件上,我希望在button的onClick事件上获取它。它返回以下错误selectedValue无法获取局部变量或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化。我已取消选中优化代码检查,让我重试。select元素是否包含项或其为空?它不是空的。它由另一个ActionResult填充。下面是填充标记public ActionResult ItemList{var items=items.GetItems;如果HttpContext.Request.IsAjaxRequest{return Jsonnew SelectListitems.ToArray,ItemCode,ItemDescription,JsonRequestBehavior.AllowGet;}return RedirectToActionIndex;}这是ActionResult吗?在我看来似乎是HTML供查看。@使用HTML.BeginFormGetAllItems,Items,FormMethod.Post,new{id=thisForm}{Get Items}谢谢您的帮助。
var selectedValue = Request["Items"];
@using (Html.BeginForm("YourActionName", "ControllerName")) {

          <select style="width:170px" id="ItemsID" name="Items"></select>

          <input type="submit" value="Submit Data" id="btnSubmit" />

}
<form action='yourAction'>
<select name='name'></select>
<button type="submit">Get Items</button>
</form>