2016-09-30 25 views
-1

on clicking search,nothing happen asp.net mvc 5コードの日付プロパティで詳細をフィルタリングしようとしています。 が動作していません。 私は、コードが最初にコントローラを生成してそれを表示するモデルクラスを作成するだけです。 今、私は、日付に関してインデックスページの詳細をフィルタリングしたいと思います。 ここに私が使用しているコードがあります。詳細の日付を検索するasp.Net mvc 5

モデルクラス: -

public class Meeting 
{ 
    public int MeetingID { get; set; } 
    public String Name { get; set; } 
    public String designation { get; set; } 
    [Display(Name = "9:00 - 10:00")] 
    public String NineToTen { get; set; } 
    [Display(Name = "10:00 - 11:00")] 
    public String TenToEleven { get; set; } 
    [Display(Name = "11:00 - 12:00")] 
    public String ElevenToTwelve { get; set; } 
    [Display(Name = "12:00 - 1:00")] 
    public String TwelveToOne { get; set; } 
    [Display(Name = "1:00 - 2:00")] 
    public String OneToTwo { get; set; } 
    [Display(Name = "2:00 - 3:00")] 
    public String TwoToThree { get; set; } 
    [Display(Name = "3:00 - 4:00")] 
    public String ThreeToFour { get; set; } 
    [Required(ErrorMessage = "Please Enter the Date")] 
    [DataType(DataType.Date)] 
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = false)] 
    [Display(Name = "Meeting Date")] 
    public DateTime Date { get; set; } 

} 

コントローラー: -

 using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Data.Entity; 
using System.Linq; 
using System.Net; 
using System.Web; 
using System.Web.Mvc; 
using MSS.Models; 

namespace MSS.Controllers 
{ 
    public class MeetingController : Controller 
    { 
     private OurDbContext db = new OurDbContext(); 

     // GET: /Meeting/ 
     public ActionResult Index(DateTime? fromDate, DateTime? toDate) 
    { 
     if (!fromDate.HasValue) fromDate = DateTime.Now.Date; 
     if (!toDate.HasValue) toDate = fromDate.GetValueOrDefault(DateTime.Now.Date).Date.AddDays(1); 
     if (toDate < fromDate) toDate = fromDate.GetValueOrDefault(DateTime.Now.Date).Date.AddDays(1); 
     ViewBag.fromDate = fromDate; 
     ViewBag.toDate = toDate; 
     var Meeting = db.meeting.Where(c => c.Date >= fromDate && c.Date < toDate).ToList(); 

     return View(Meeting); 
    } 
     // GET: /Meeting/Details/5 
     public ActionResult Details(int? id) 
     { 
      if (id == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      Meeting meeting = db.meeting.Find(id); 
      if (meeting == null) 
      { 
       return HttpNotFound(); 
      } 
      return View(meeting); 
     } 

     // GET: /Meeting/Create 
     public ActionResult Create() 
     { 
      return View(new Meeting { Name = User.Identity.Name }); 
     } 

     // POST: /Meeting/Create 
     // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
     // more details see http://go.microsoft.com/fwlink/?LinkId=317598. 
     [HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Create([Bind(Include="MeetingID,Name,designation,NineToTen,TenToEleven,ElevenToTwelve,TwelveToOne,OneToTwo,TwoToThree,ThreeToFour,Date")] Meeting meeting) 
     { 
      if (ModelState.IsValid) 
      { 
       db.meeting.Add(meeting); 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 

      return View(meeting); 
     } 

     // GET: /Meeting/Edit/5 
     public ActionResult Edit(int? id) 
     { 
      if (id == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      Meeting meeting = db.meeting.Find(id); 
      if (meeting == null) 
      { 
       return HttpNotFound(); 
      } 
      return View(meeting); 
     } 

     // POST: /Meeting/Edit/5 
     // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
     // more details see http://go.microsoft.com/fwlink/?LinkId=317598. 
     [HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Edit([Bind(Include="MeetingID,Name,designation,NineToTen,TenToEleven,ElevenToTwelve,TwelveToOne,OneToTwo,TwoToThree,ThreeToFour,Date")] Meeting meeting) 
     { 
      if (ModelState.IsValid) 
      { 
       db.Entry(meeting).State = EntityState.Modified; 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 
      return View(meeting); 
     } 

     // GET: /Meeting/Delete/5 
     public ActionResult Delete(int? id) 
     { 
      if (id == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      Meeting meeting = db.meeting.Find(id); 
      if (meeting == null) 
      { 
       return HttpNotFound(); 
      } 
      return View(meeting); 
     } 

     // POST: /Meeting/Delete/5 
     [HttpPost, ActionName("Delete")] 
     [ValidateAntiForgeryToken] 
     public ActionResult DeleteConfirmed(int id) 
     { 
      Meeting meeting = db.meeting.Find(id); 
      db.meeting.Remove(meeting); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     protected override void Dispose(bool disposing) 
     { 
      if (disposing) 
      { 
       db.Dispose(); 
      } 
      base.Dispose(disposing); 
     } 
    } 
} 

ビュー: -

@model IEnumerable<MSS.Models.Meeting> 

    @{ 
    ViewBag.Title = "Index"; 
    } 

    <h2>Index</h2> 

    <p> 
    @Html.ActionLink("Create New", "Create") 
    </p> 
    @{ 
    var fromDate = (DateTime)ViewBag.fromDate; 
    var toDate = (DateTime)ViewBag.toDate; 
    } 

@using (Html.BeginForm("Index", "Meeting", FormMethod.Get)) 
{ 
    <div> 
     From Date: @Html.TextBox("fromDate", string.Format("{0:dd MMM yyy}", fromDate), new { @class = "datefield", type = "date" }) 
     To Date: @Html.TextBox("toDate", string.Format("{0:dd MMM yyy}", fromDate), new { @class = "datefield", type = "date" }) 
     <input type="submit" value="Search" /> 
    </div> 
} 
<table class="table"> 
<tr> 
    <th> 
     @Html.DisplayNameFor(model => model.Name) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.designation) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.NineToTen) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.TenToEleven) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.ElevenToTwelve) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.TwelveToOne) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.OneToTwo) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.TwoToThree) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.ThreeToFour) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.Date) 
    </th> 
    <th></th> 
</tr> 

@foreach (var item in Model) { 
<tr> 
    <td> 
     @Html.DisplayFor(modelItem => item.Name) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.designation) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.NineToTen) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.TenToEleven) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.ElevenToTwelve) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.TwelveToOne) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.OneToTwo) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.TwoToThree) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.ThreeToFour) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Date) 
    </td> 
    <td> 
     @Html.ActionLink("Edit", "Edit", new { id=item.MeetingID }) | 
     @Html.ActionLink("Details", "Details", new { id=item.MeetingID }) | 
     @Html.ActionLink("Delete", "Delete", new { id=item.MeetingID }) 
    </td> 
</tr> 
} 

+3

大文字の単語を使用する必要はありません。 – mybirthname

+1

コードが機能しなくなったところ(コードコメントでマークするだけ)?丁重さのために質問するときには大文字を使わないでください。 –

+0

あなたが得ている出力と何が期待されているかを書いてください – Bharat

答えて

0

あなたは完全なデータセットを返す代わりに、フィルタ戻ってきていますデータ。以下の行を試してみてください。

return View(Meeting); 
+0

はそれを試みましたが、データベースの詳細/データがインデックスページに表示されませんでした。 – Aqib

+0

インデックスビューを投稿し、インデックスで使用されているモデルがリストであることを確認してください。

+0

質問セクションに投稿してください – Aqib

関連する問題