Привет, у меня есть страница просмотра, которая выглядит так
@model PIC_Program_1._0.Models.Shipping
@using PIC_Program_1._0.Models;
@{
PIC_Program_1_0Context db = new PIC_Program_1_0Context();
Model.preparedBy = Model.preparedBy != null ? Model.preparedBy : IGT.user;
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<table>
<tr>
<th rowspan="3">Items</th>
<td>
@Html.DropDownList("ItemID", null, null, htmlAttributes: new { @class = "form-control chosen-select", })
@{
Item i = db.Items.Find(int.Parse(Request["ItemID"]));
var packedItems = Model.packed(i);
var orderedItems = Model.SalesOrder.totalItems(i);
var itemMax = orderedItems - packedItems;
}
</td>
<td>
<input type="number" value="@ViewBag.ItemQ" name="item_qty" class="form-control" max="@itemMax" />
</td>
</tr>
Я хочу, чтобы пользователь мог выбрать элемент из раскрывающегося списка, затем я хочу захватить элемент, выбранный пользователем, и я хочу, чтобы он поместил его в параметр метода
1 ответ
На бэкэнде
Строка strDDLValue = Request.Form["ddlVendor"].ToString();
Вы можете просмотреть это в отладке, чтобы помочь
@Html.DropDownList("ItemsXY", new SelectList(ViewBag.ItemsXY), "Choose Category", new { @class = "form-control" })
$("#ItemsXY").on("change", function () {
var q = $("#Category").val();
console.log("val = " + q);
});
В вашей коллекции форм
[HttpPost]
public ActionResult PIC_Program_1(SomeViewModel someMV,FormCollection form)
{
string strDDLValue = form["ItemsXY"].ToString();
return View(MV);
}
Или
string strDDLValue = Request.Form["ItemsXY"].ToString();
Если вам нужен текст выбранного элемента, добавьте скрытое поле и при изменении выбора в раскрывающемся списке задайте текст выбранного элемента в скрытом поле:
Обновите свою модель, чтобы она содержала скрытые значения
// Add this to your VM
public string SelectItemsXY {get;set;}
public string SelectedItemsXYText { get; set; }
<script type="text/javascript">
$(function(){
$("#ItemsXY").on("change", function {
$("#SelectedvendorText").val($(this).text());
});
});
</script>
@Html.DropDownListFor(m=>m.SelectedItemsXY , Model.ItemsXY, "Select ItemsXY")
@Html.HiddenFor(m=>m.SelectedItemsXYText)
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.