在mvc中基于下拉选择重新加载视图

q3qa4bjr  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(139)

我需要找到一种方法来显示选定下拉值的数据。到目前为止,代码是这样的-默认寄存器x的数据将显示在页面加载的“索引”视图中,从下拉列表中选择新寄存器后,需要在相同的“索引”视图中替换寄存器y数据。当我调试代码时,我能够在display()下的viewlist中看到填充的新数据,但这些数据不会传输到主视图。此外,@model.store、@model.reg值不会拾取从控制器重定向操作分配的新值。请建议使用所选注册表的信息重新填充视图的方法。
控制器

public class AppHealthController : Controller
    {
        dynamic ViewList = new ExpandoObject();
        public ActionResult Index()
        {   
            ViewList.store = "0100";
            ViewList.reg = "001";
            ViewList.RegList = GetAllRegisterList(A, B);
            ViewList.RegInfo = ReadAPIinfo(C, D);
            return View("Index", ViewList);              
         }

        [HttpPost]
        public ActionResult Display(string selectRegister)
        {
            ViewList.store = "0001";
            ViewList.reg = selectRegister.Substring(8,3);
            ViewList.RegInfo = ReadAPIinfo(C, selectRegister);
            return RedirectToAction("Index", ViewList);
        }
}

看法

@model dynamic 
 @{ViewBag.Title = "Index";}
    <script>
        $("body").on("change", "#selectRegister", function () {
            $("#selectRegister").val($(this).find("option:selected").text());
        });
    </script>  

    <body>
        <table style="width:100%" class="table1">
            <tr>
                <td><b>StoreNumber :</b>@Model.store</td>
                <td><b>RegisterNumber :</b>@Model.reg</td>
                <td>
                    <b>Register List</b>
                    @using (Html.BeginForm("Display", "AppHealth", FormMethod.Post))
                    {
                        <select id="selectRegister" name="selectRegister" onchange="this.form.submit();">
                            @foreach (RegisterList item in Model.RegList.Result)
                            {
                            <option>@Html.DisplayFor(x => @item.RegisterNo)</option>
                            }
                        </select>
                    }
                </td>
            </tr>
        </table>

    <table id="'tblHealth"><tbody>Model.RegInfo.Result[0]</tbody></table>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题