مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

اشتباه نمایش داده در DropDownList

  • چهارشنبه 8 فروردین 1397
  • 15:33
تشکر میکنم

سلام

من کدهای زیر را نوشته ام

  // GET: Home/Edit/5
        public ActionResult Edit(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Person person = db.People.Find(id);
            if (person == null)
            {
                return HttpNotFound();
            }
            ViewBag.SexId = new SelectList(db.Sexes, "SexId", "Name", person.SexId);
            return View(person);
        }

و

@model DropDwonListEdit.Models.Person

@{
    ViewBag.Title = "Edit";
}

<h2>Edit</h2>


@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    
    <div class="form-horizontal">
        <h4>Person</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        @Html.HiddenFor(model => model.PersonId)

        <div class="form-group">
            @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.SexId, "SexId", htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownList("SexId", null, htmlAttributes: new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.SexId, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Save" class="btn btn-default" />
            </div>
        </div>
    </div>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

وقتی داده داشته باشه جنسیت هیچ مشکلی نیست 
اما مشکلم اینه وقتی برای جنسیت داده ای وارد نکرده باشم باز مقدار DropDownList را برابر با مرد نمایش میدهد درصورتیکه باید null باشد
برای حل این مشکل کدم را چگونه باید تغییر بدهم
باسپاس

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 8 فروردین 1397
  • 18:13

خودتون لیست رو ایجاد کنید و یک آیتم با عنوان انتخاب کنید اضافه کنید

public IEnumerable<SelectListItem> GenderList
    {
        get
        {
            [...]
            new SelectListItem { Value = "0", Text = "Select", Selected = true},
            [...]
        }
    }

سپس موقع دریافت اگر برابر 0 بود یعنی انتخاب نکرده

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)