2016-09-30 50 views
-1

on clicking search,nothing happen我想在asp.net mvc 5代码中先用date属性过滤详细信息。 但它不工作。 我只创建一个模型类,从中代码首先生成一个控制器并查看它。 现在我想过滤关于日期的索引页上的细节。 这里是我使用的代码。从详细搜索日期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