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

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

کاربر سایت

selak

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

Grid با viewModel

  • یکشنبه 20 فروردین 1396
  • 12:28
تشکر میکنم

viewmodel زیر رو ایجاد کردم:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace QA_Software.ViewModel
{
    public class CreateRevisionRequestViewModel
    {
        public Models.RevisionDocUnit RevisionDocUnit { get; set; }

        public List<Models.RevisionDocUnit> RevisionDocUnits { get; set; }

        public Models.Document Document { get; set; }

        public List<Models.Document> Documents { get; set; }

    }
}

view زیر رو ایجاد و ویو مدل رو در اون استفاده کردم

@model QA_Software.ViewModel.CreateRevisionRequestViewModel
@using GridMvc.Html

@{
    ViewBag.Title = "CreateRevisionRequest";
    Layout = "~/Views/Shared/_MyLayoutPage.cshtml";
    <link href="~/Content/bootstrap.min.css" rel="stylesheet" />
    <link href="~/Content/PersianDatePicker.css" rel="stylesheet" />
}
<style type="text/css">
    .MyPage {
        text-align: right;
        direction: rtl;
    }
</style>




<div class="col-lg-12  ">


    <h2>ثبت درخواست بازنگری مدرک</h2>

    <br />

    @using (Html.BeginForm("InsertRevisionRequest", "RevisionDocUnit", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.AntiForgeryToken()

        <div class="col-lg-12">
            <div class="col-lg-1">
                <span class="Mylabel">درخواست:</span>
            </div>
            @*<div class="col-lg-11">
                <div class="col-lg-2">

                    <span>ایجاد</span>
                    @Html.RadioButtonFor(m => m.RevisionDocUnit.RequestType, "1")
                </div>
                <div class="col-lg-2">

                    <span> بازنگری</span>
                    @Html.RadioButtonFor(m => m.RevisionDocUnit.RequestType, "2")

                </div>

                <div class="col-lg-2">

                    <span> حذف</span>
                    @Html.RadioButtonFor(m => m.RevisionDocUnit.RequestType, "3")

                </div>
            </div>*@
        </div>
        <div class="col-lg-12">
            <div class="col-lg-1">
                <span class="Mylabel">مدرک موردنظر</span>
           
                    @Html.ActionLink("جستجو مدرک مورد نظر", "Zonkan_Madarek", "Document", "", new { @class = "btn btn-success" })

        
                    <h1>@ViewBag.SelectedMadrak</h1>
                </div>

        </div>




        <div class="col-lg-12">
            <div class="col-lg-1">

                <span class="Mylabel">مدرک درخواستی</span>
            </div>
            <div class="col-lg-11">

                <input type="file" name="DocFile" id="DocFile" class="btn btn-default" /><br />
            </div>


        </div>



        <div class="col-lg-12">
            <div class="col-lg-1">

                <span class="Mylabel">شرح تغییرات</span>
            </div>
            <div class="col-lg-11">

                @Html.TextAreaFor(D => D.RevisionDocUnit.DescriptionOfChange, new { htmlAttribute = new { @class = "form-control input-lg" } })
            </div>


        </div>




        <div class="col-lg-12">
            <div class="col-lg-1">

                <span class="Mylabel">تاریخ درخواست</span>
            </div>
            <div class="col-lg-11">

                @Html.EditorFor(D => D.RevisionDocUnit.RequestDate, new { htmlAttribute = new { @class = "form-control input-lg" } })
            </div>
        </div>



        @*<input type="hidden" name="PersonalCode" />*@




        <input type="submit" class="btn btn-success" value="ثبت درخواست" />
        <input type="reset"` class="btn btn-success" value="انصراف" />

    }
        <div class="col-lg-12 ">

            @Html.Grid(Model.RevisionDocUnits ).Columns(columns =>
           {


               columns.Add(c => c.CCRevisionDocUnits).Titled("ردیف").Sortable(true).Filterable(false).SetWidth(5);
               columns.Add(c => c.RequestType).Titled("نوع درخواست").Sortable(true).Filterable(true).SetWidth(15);
               columns.Add(c => c.CCDocuments).Titled("نام مدرک").Sortable(true).Filterable(true).SetWidth(20);
               columns.Add(c => c.RequestDate).Titled("تاریخ").Sortable(true).Filterable(true).SetWidth(20);

           }).WithPaging(4)

        </div>



</div>

کنترلر

 public ActionResult CreateRevisionRequest(FormCollection form1)
        {
            Models.DB db = new Models.DB();
            ViewModel.CreateRevisionRequestViewModel RevisionRequest = new ViewModel.CreateRevisionRequestViewModel();
            RevisionRequest.RevisionDocUnits = db.RevisionDocUnits.ToList();

            ViewBag.SelectedMadrak = "";
            string result = "";
            foreach (var fitem in form1)
            {
                var selectedItems = form1.Get(fitem.ToString());

                if (selectedItems != null)
                {

                    ViewBag.SelectedMadrak = fitem.ToString().Split(';')[0];
                    ViewBag.SelectedMadrakcc = fitem.ToString().Split(';')[1];
                }
            }
            
            return View(RevisionRequest);

 public ActionResult InsertRevisionRequest([Bind(Include = "RevisedFile, RequestDate, RequestType,  DescriptionOfChange")] Models.RevisionDocUnit RequestDoc)
        {
            Models.DB db = new Models.DB();
            db.RevisionDocUnits.Add(RequestDoc);
            db.SaveChanges();
            db.Dispose();
            return RedirectToAction("CreateRevisionRequest");
        }

مقادیر وارد شده پر نمیشود؟

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

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

ایمان مدائنی

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

  • یکشنبه 20 فروردین 1396
  • 13:44

کد ها به نظر درست میام

البته باید تست بشند

Trace کنید و ببینید مشکل کجاست

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

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

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

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