размещение формы ASP.net MVC с виджетами Kendoui для ASP.net MVC

Я разрабатываю свое приложение ASp.net MVC, используя расширения Kendoui MVC. Итак, в моей форме у меня есть вся сетка kendoui, раскрывающийся список, средство выбора даты и т. Д. Я собрал их все в своем @using (Html.BeginForm ()) Но я не уверен, как я могу отправить данные моей формы в контроллер. Если кто-то делал это, не могли бы вы поделиться своим опытом.

Например:

У меня есть две сущности: Факультет и ФакультетТип в моем DAL.

public class Faculties
{
    public int FacultyId { get; set; }
    public string StaffNumber { get; set; }

    public int FacultyTypeId { get; set; }
    public virtual FacultyTypes FacultyTypes { get; set; }
  }

public class FacultyTypes
{
    public FacultyTypes()
    {
        this.Faculties = new List<Faculties>();
    }
    public int FacultyTypeId { get; set; }
    public string FacultyTypeCode { get; set; }
    public string FacultyType { get; set; }
    public bool IsDefunct { get; set; }
    public virtual ICollection<Faculties> Faculties { get; set; }
}

У меня есть ViewModels в моем приложении:

public class ViewModelFaculty
{
    public int FacultyId { get; set; }
    public string StaffNumber { get; set; }

    public ViewModelFacultyTypes FacultyType { get; set; }
  }

public class ViewModelFacultyTypes
{

        [ScaffoldColumn(false)]
        public int FacultyTypeId { get; set; }

        [Required(ErrorMessage ="Faculty Type Code is Required")]
        public string FacultyTypeCode { get; set; }

        [Required]
        public string FacultyType { get; set; }

        public bool IsDefunct { get; set; }

}

Страница My View с расширениями kendoui для ASp.net MVC.

 @model FMSApps.Models.ViewModelFaculty

@using(Html.BeginForm())
  { 
   <fieldset>
     <legend class="main">Personal Particulars</legend>
        <div class="view-table">
          <div class="view-row">
           <div class="view-name"><label for="staffId">Staff ID</label></div>
            <div class="view-name"><input id ="txtStaffId" name="StaffId" class="k-textbox" data-bind="value: StaffId" type="text" required /></div>
            <div class="view-name"><label for="facultyType">Faculty Type</label></div>
            <div class="view-name">
            @(Html.Kendo().DropDownList()
              .Name("ddFacultyType")
              .DataTextField("FacultyType")
              .DataValueField("FacultyTypeId")
              .OptionLabel("Select Faculty Type")
              .Enable(true)
              .AutoBind(true)
              .DataSource(ds =>
              {
                  ds.Read(read =>
                  {
                      read.Action("GetFacultyTypes", "NewFaculty");
                  })
                  .ServerFiltering(true);
              })

            )
        </div>
    </div>

Я показываю часть своего представления, как если бы я мог опубликовать два поля, тогда все остальные будут иметь одну и ту же логику. Итак, теперь, когда я отправляю свою форму, мне нужно опубликовать данные в форме на контроллере.

Я знаю, что это можно сделать в помощниках ASp.net mvc html, но не знаю, как это сделать с kendoui, даже на веб-сайте kendoUi, поскольку также не дано никакого примера того, как использовать расширения в форме и как публиковать данные.

Если кто-то работал в той же среде или в любом направлении, как это сделать, пожалуйста, предложите мне.


person Deepali    schedule 11.02.2014    source источник


Ответы (1)


Скажем, если вы используете

<input id ="txtStaffId" name="StaffId" class="k-textbox" data-bind="value: StaffId" type="text" required /></div>

@(Html.Kendo().DropDownList()
          .Name("ddFacultyType")
          .DataTextField("FacultyType")
          .DataValueField("FacultyTypeId")
          .OptionLabel("Select Faculty Type")
          .Enable(true)
          .AutoBind(true)
          .DataSource(ds =>
          {
              ds.Read(read =>
              {
                  read.Action("GetFacultyTypes", "NewFaculty");
              })
              .ServerFiltering(true);
          })
        )`

Когда на странице нажата кнопка с атрибутом, поле в форме будет отправлено в контроллер. Это означает, что в данном случае имя поля 'txtStaffId' в паре с входным значением и 'ddFacultyType' с парным значением (в зависимости от того, что вы выберете в списке) будет отправлено на контроллер.

person Roti    schedule 10.03.2014