我如何从下拉列表中选择的项目,并提交给我详细查看? [英] How do I get the selected item from drop down list and submit it to my Details view?

查看:77
本文介绍了我如何从下拉列表中选择的项目,并提交给我详细查看?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个MVC剃刀形式。我想是从项目下拉列表提交用户的选择并导航到详细信息视图,以便访问所选项目的信息。

目前,当我点击提交按钮,我成功地导航到详细信息视图,但也绝对没有数据显示那里。

你能帮帮我吗?

查看

  @using(Html.BeginForm(详细信息,预订,FormMethod.Post))
{
<字段集>
    <传奇>类型/项目< /传说>
    <标签=项>项目类型< /标签>
    @ Html.DropDownList(部,ViewBag.ItemTypesList为SelectList的,选择型,新{ID =ItemTypeID})
    < D​​IV 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆