我如何从下拉列表中选择的项目,并提交给我详细查看? [英] How do I get the selected item from drop down list and submit it to my Details view?
本文介绍了我如何从下拉列表中选择的项目,并提交给我详细查看?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个MVC剃刀形式。我想是从项目下拉列表提交用户的选择并导航到详细信息视图,以便访问所选项目的信息。
目前,当我点击提交按钮,我成功地导航到详细信息视图,但也绝对没有数据显示那里。
你能帮帮我吗?
查看
@using(Html.BeginForm(详细信息,预订,FormMethod.Post))
{
<字段集>
<传奇>类型/项目< /传说>
<标签=项>项目类型< /标签>
@ Html.DropDownList(部,ViewBag.ItemTypesList为SelectList的,选择型,新{ID =ItemTypeID})
< DIV ID =ItemsDivId>
<标签=项>项目< /标签>
<选择一个id =ItemsIDNAME =项>< /选择>
< / DIV>
&其中p为H.;
<输入类型=提交值=提交ID =SubmitID/>
&所述; / P>
< /字段集>
}
<脚本类型=文/ JavaScript的>
$('#ItemTypeID')。在('改变',函数(){
$阿贾克斯({
键入:POST,
网址:@ Url.Action(GetItemTypeForm),
数据:{itemTypeId:$('#ItemTypeID)VAL()},
成功:函数(结果){
VAR选项= $('#ItemsID');
options.empty();
options.append($('<选项/>').val(null).text("-选择一个项目 - ));
$每个(结果,函数(){
options.append($('<选项/>').val(this.ItemsID).text(this.Value));
});
}
});
});
< / SCRIPT>
控制器:
公众的ActionResult详细信息(字符串ID)
{
VAR项目= db.Items.Find(ID);
返回查看(项目);
}
[HttpPost]
公共JsonResult GetItemTypeForm(字符串itemTypeId)
{
//伪code
变种数据S在db.Items =
其中,s.ItemType.ItemTypeName == itemTypeId
选择新的{值= s.ItemName,ItemsID = s.ItemId};
返回JSON(数据);
}
解决方案
使用产品
的详细方法,如果你想获得项目的价值
公众的ActionResult详细信息(INT项)
{
VAR项目= db.Items.Find(项目);
返回查看(项目);
}
I have an mvc razor form. What i want is to submit the user's selection from Items dropdown list and navigate to Details view in order to access the chosen item's information.
Currently when i click the submit button i navigate succesfully to Details view but there is absolutely no data showing there.
Can you please help me?
View
@using (Html.BeginForm("Details", "Bookings", FormMethod.Post))
{
<fieldset>
<legend> Type/Item</legend>
<label for="Items">Item Types </label>
@Html.DropDownList("department", ViewBag.ItemTypesList as SelectList, "Select a Type", new { id = "ItemTypeID" })
<div id="ItemsDivId">
<label for="Items">Items </label>
<select id="ItemsID" name="Items"></select>
</div>
<p>
<input type ="submit" value="Submit" id="SubmitID" />
</p>
</fieldset>
}
<script type="text/javascript">
$('#ItemTypeID').on('change', function () {
$.ajax({
type: 'POST',
url: '@Url.Action("GetItemTypeForm")',
data: { itemTypeId: $('#ItemTypeID').val() },
success: function (results) {
var options = $('#ItemsID');
options.empty();
options.append($('<option />').val(null).text("- Select an Item -"));
$.each(results, function () {
options.append($('<option />').val(this.ItemsID).text(this.Value));
});
}
});
});
</script>
Controller:
public ActionResult Details(string id)
{
var item = db.Items.Find(id);
return View(item);
}
[HttpPost]
public JsonResult GetItemTypeForm(string itemTypeId)
{
//pseudo code
var data = from s in db.Items
where s.ItemType.ItemTypeName == itemTypeId
select new { Value = s.ItemName, ItemsID = s.ItemId };
return Json(data);
}
解决方案
use Items
in Details method if you want to get Items value
public ActionResult Details(int Items)
{
var item = db.Items.Find(Items);
return View(item);
}
这篇关于我如何从下拉列表中选择的项目,并提交给我详细查看?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文