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

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

کاربر سایت

محمد ملکی

عضویت از 1394/03/02

Null شدن لیست در ارسال به اکشن توسط Ajax

  • جمعه 4 تیر 1395
  • 17:30
تشکر میکنم

سلام من یه کلاس دارم که خود یکی از پارامترها لیستی از یک کلاس دیگر است

به صورت زیر است

 public class InComee
    {

        public bool Manage_Access { get; set; }
        public Nullable<DateTime> StartDate { get; set; }
        public Nullable<DateTime> EndDate { get; set; }
        public string Value { get; set; }
        public List<BuildingIncome> lstIncome { get; set; }
    }

یه ویو هم از این ساختم که در ابتدا با مقادیر پیش فرض پر میکنم

  public ActionResult Income()
        {
            try
            {
                dbCMSEntities d = new dbCMSEntities();
                int id = 0;

                if (HttpContext.Application.Count > 0 && HttpContext.Application["build_id"] != null)
                    id = (int)HttpContext.Application["build_id"];

                var query = d.Income.Where(c => c.Income_BuidingId == id).ToList();
                List<BuildingIncome> res = (from p in query
                                            select new BuildingIncome()
                                            {
                                                Date = p.Income_Date.Date,
                                                id = p.Income_Id,
                                                Amount = p.Income_Amount,
                                                DateString = p.Income_Date.ToPersianDateTime().ToString("yyyy/MM/dd"),
                                                Description = p.Income_Description,
                                            }).ToList();

                InComee entity = new InComee();
                entity.lstIncome = res;
                entity.Manage_Access = true;
                d.Dispose();
                return View(entity);

            }
            catch (Exception)
            {
                return View();
            }
        }

اینم ویوی من

@model CMScharge.Classes.Building.InComee
@{
    ViewBag.Title = "Income";
    Layout = "~/Views/Shared/_BuildingLayout.cshtml";
}
<div id="result">

    @using (Ajax.BeginForm("Income", "Building", new { entity =Model}, new AjaxOptions { UpdateTargetId = "result", HttpMethod = "POST", OnSuccess = "success" }))
    {
        <h4>درآمدهای ساختمان</h4>

        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)

        <div class="form-horizontal">
            <div class="form-group">
              
                    <div class="col-md-2">
                        <input type="submit" value="مشاهده" class="btn btn-default" name="btnResult" />
                    </div>
                    <div class="col-md-2">

                        @(Html.Kendo().DropDownListFor(model => model.Value)
    .Name("Value")
    .DataTextField("Text")
    .DataValueField("Value")
    .BindTo(new List<SelectListItem>() {
              new SelectListItem() {
                  Text = "نزولی",
                  Value = "1"
              },
              new SelectListItem() {
                  Text = "صعودی",
                  Value = "2"
              }

          })
     .Value("1")
                        )
                    </div>
                    @Html.Label("به ترتیب :", new { @class = "col-md-1" })
                    <div class="col-md-2">
                        @Html.EditorFor(model => model.EndDate)
                    </div>
                    @Html.Label("لغایت :", new { @class = "col-md-1" })
                    <div class="col-md-2">

                        @Html.EditorFor(model => model.StartDate)

                    </div>
                    @Html.Label("از تاریخ :", new { @class = "col-md-1" })
                </div>
          
            <div class="form-group">
                @if (Model.Manage_Access)
                {
                    <input type="submit" value="جدید" class="k-button k-primary cancel" name="btnResult" />
                    <input type="submit" value="گزارش" class="k-button k-primary" name="btnResult" />
                }
            </div>
            <div class="form-group">

                @(Html.Kendo().Grid<CMScharge.Classes.Building.BuildingIncome>(Model.lstIncome)
          .Name("gridd")
          .Columns(columns =>
          {

              columns.Bound(p => p.Description).Title("بابت");

              columns.Bound(p => p.DateString).Title("تاریخ");
              columns.Bound(p => p.Amount).Title("مبلغ");
              if (Model.Manage_Access)
              {
                  columns.Template(x => { }).ClientTemplate("<input type='button' value='ویرایش' onclick='EditIncome(#=id#)'  class='k-button k-grid-even' />");
                  columns.Command(command => { command.Destroy().HtmlAttributes(new { @class = "k-button k-button-icontext" }).Text("حذف"); });
              }
          })
           .Pageable(pageable => pageable

               .Messages(message => message.ItemsPerPage("تعداد آیتم در هر صفحه"))
               .Messages(message => message.Display("نمایش درآمدها {0} تا {1}. تعداد کل درآمدها :{2}"))
              .Refresh(true)
              .PageSizes(true)
              .ButtonCount(2)

  )

.Editable(editable =>
{
    editable.DisplayDeleteConfirmation("از حذف مطمئن هستید؟");
})
    .Sortable()


   .DataSource(c => c
    .Ajax()
    .ServerOperation(false)
    .PageSize(10)
    .Events(events => events.Error("error_handler"))
    .Model(model =>
    {
        model.Id(p => p.id);
        model.Field(p => p.id).Editable(false);
    })
.Destroy(update => update.Action("DeleteIncome", "Building"))

                )
                )



            </div>
        </div>

    }



</div>

مشکلم اینه در اکشن income در حالت post  اون entity خالی و null است علت چیه؟ من که در ابتدا پرش کردم

[HttpPost]
        public ActionResult Income(string btnResult, DateTime? StartDate, DateTime? EndDate, string Value, InComee entity,BuildingIncome lstIncome ,Income NewIncome)
        {

منظورم همون خط اول هست که entity متاسفانه null هست علت چیه؟

 

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

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

ایمان مدائنی

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

  • جمعه 4 تیر 1395
  • 20:10

این لینک رو ببینید

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

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

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

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