Asp.Net MVC使用分部视图实现二级级联


实现功能: 根据选择的科室,加载医生列表的数据源。

实现页面效果


具体实现如下:

首先创建了医生下拉框的分部视图,

PartialViewDoctorDuty.cshtml代码如下:

</pre><pre name="code" class="csharp">@Html.DropDownList("DoctorId", ViewData["dutydoctorid"] as SelectList, "=请选择=", new { @class = "m-wrap small" })

主页面
DoctorDutyCreate.cshtml<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">代码如下:</span>

@Scripts.Render("~/Scripts/jquery-1.9.1.js")
<script type="text/javascript">
    $(document).ready(init);

    function init() {
        $("select[name='Roomid']").change(function () {
            var selectedroomid = $(this).val();
            Showdoctors(selectedroomid);
        });
    }

    function Showdoctors(roomid) {
        $.ajax({
            url: "@Url.Action("GetHopDoctorList", "RegistrationManage")",
            data: { roomid: roomid },
            success: function (data) {
                $("#dutydoctorid").html(data);
            }
        });
    }
</script>


<div class="widget-box">
    <div class="widget-title">
        <span class="icon"><i class="icon-th"></i></span>
        <h5>@ViewBag.Type</h5>
    </div>
    <div class="widget-content nopadding">
        @using (Html.BeginForm(null, null, FormMethod.Post, new { id = "search-form", enctype = "multipart/form-data" }))
        { @Html.AntiForgeryToken()
            <table class="table table-bordered data-table">
                <tbody>
                   
                    <tr>
                        <td>科室:</td>
                        <td>
                            @Html.DropDownListFor(T => T.Roomid,ViewData["QueryRoomsList"] as SelectList, "=请选择=")
                            @Html.ValidationMessageFor(t=>t.Roomid)
                        </td>
                        <td>医生:</td>
                        <td>
                            <div id="dutydoctorid">
                                @Html.Partial("PartialViewDoctorDuty")
                                @Html.ValidationMessageFor(t => t.DoctorId)
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4">
                            <div class="form-actions form-operate text_center ">
                                <input type="submit" value="保存" class="btn btn-success" />
                                @Html.ActionLink("返回列表", "toList", new { }, new { @class = "btn btn-danger" })
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        }
    </div>
</div>
</pre><pre name="code" class="csharp">Controller代码:
<pre name="code" class="csharp">       #region 新增 医生排班
        public ActionResult DoctorDutyCreate()
        {
            var model = new DoctorDutyButty();
            int HospitalId = 1;

            //科室数据源
            var roomlist = db.OrgnizationSet.Find(HospitalId).Room.ToList();
            ViewData["QueryRoomsList"] = new SelectList(roomlist, "Id", "RoomName");
            //医生数据源初始数据为空
            List<SelectListItem> list = new List<SelectListItem>();
            ViewData["dutydoctorid"] = new SelectList(list, "Id", "DoctorName");

            ViewBag.Type = "新增";
            return View("DoctorDutyCreate", model);
        }
        #endregion


        //新增-医生排班页面-根据科室加载医生数据源
        public ActionResult GetHopDoctorList(int roomid)
        {
            int HospitalId = 1
            var doctorlist = db.DoctorSet.Where(m => m.RoomId == roomid).ToList();
            ViewData["dutydoctorid"] = new SelectList(doctorlist, "Id", "DoctorName");
            return PartialView("PartialViewDoctorDuty");
        }


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值