سؤال

أحاول أن أعرض في مربع القائمة المنسدلة قائمة 'الزيارات المجدولة' استنادا إلى الإدخالات السابقة.أنا قادر على جمع المعلومات ولكن عندما أعرضها ، يتحول مربع القائمة المنسدلة إلى مربع إدخال ويتم عرض غير معلوماتي التي أريدها.الشكل الذي أود أن يتم عرض العناصر الخاصة بي هو من قبل :10/2/2012-في المدرسة.

هنا هو ما لدي لرمز بلدي:

هذا هو المكان الذي أجمع فيه معلومات الزيارة-التاريخ والمكان

public JsonResult GetVisitDetails(Guid visitEntryId)
    {
        var model = new VisitDetailModel();
        VisitEntry visitEntry = _visitEntryService.Get(visitEntryId);
        if(visitEntry == null)
        {
            model.Message = string.Format(Message.NotFoundMessage, Resources.Entities.Visit.EntityName);
            return Json(model);
        }
        model.VisitEntryId = visitEntryId;
        model.VisitTypeId = visitEntry.VisitTypeId;
        if (visitEntry.VisitType != null)
            model.VisitType = visitEntry.VisitDate.ToShortDateString();
        return Json(model);
    }
#region Nested Type:VisitDetailModel

    public class VisitDetailModel
    {
        public Guid VisitEntryId { get; set; }
        public short VisitTypeId { get; set; }
        public string VisitType { get; set; }
        public string VisitDate { get; set; }
        public string Message { get; set; }
    }

    #endregion

هذا هو ما لدي في بلدي أدتوفيوموديل:

 var visits = _visitEntryService.FindAllForCase(viewModel.CaseId, _currentUser.OfficeId).Where(v=>v.VisitDate <= DateTime.Today.SetToMaximumTime()).OrderByDescending(v=>v.VisitDate).ToList();

        visits.Insert(0, new VisitEntry());
        viewModel.Visits = visits.ToSelectList("VisitEntryId", "Display", viewModel.VisitEntryId.ToString());

        if(viewModel.VisitTypes.Count() == 0)
            ModelState.AddModelError("",string.Format("No active {0} entered.", Kids.Resources.Entities.VisitType.EntityNamePlural));

بلدي .أسكس الصفحة لإظهار المنسدلة:

<div class="row">
<%:Html.EditorFor(m=>m.VisitEntryId) %>
<%:Html.LabelFor(m=>m.Visits) %>
<%:Html.ValidationMessageFor(m=>m.VisitEntryId) %>

بلدي فيوموديل:

 [LocalizedDisplayName("VisitEntry", NameResourceType = typeof(VisitActivity))]
    public short? VisitEntryId { get; set; }

    [UIHint("DropDownList")]
    [DropDownList(DropDownListTargetProperty = "VisitEntryId")]
    public IEnumerable<SelectListItem> Visits { get; set; }

أي معلومات عن سبب عدم تمكني من عرض قائمة منسدلة ستكون مفيدة.

هل كانت مفيدة؟

المحلول

في أسكس الخاص بك كنت تفعل المحررلعلى model.VisitEntryId وهو int

كنت في حاجة الى Html.DropDownFor للحصول على قائمة منسدلة.

الخاص بك model.Visits هو سيليكتليست وأنا التخمين يجب عليك القيام به:

<%:Html.LabelFor(m=>m.VisitEntryId) %>
<%:Html.EditorFor(m=>m.Visits) %>
<%:Html.ValidationMessageFor(m=>m.VisitEntryId) %>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top