2016-04-14 23 views
1

Web sitesinin ön sayfasında, veritabanımdan bugüne kadar sıralanmış en iyi 5 haber makalesi var ve 100 karakterden sonra "... Read more". Hangisi çalışır? Makalenin kısa bir açıklamasından sonra 'daha fazlasını oku' mesajının görüneceği herhangi bir yazı için 'Daha fazlasını oku' ekleyebilirim ??? İşte Nasıl mvc asp.net içinde daha fazla görüntülenebilir

using CBA.Models; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using CBA.ViewModels; 

namespace CBA.Controllers 
{ 
    public class EventController : Controller 
    { 
     private ModelEntities db = new ModelEntities(); 

     public ActionResult Index() 
     { 
      EventDetailsViewModel eventDetail = new EventDetailsViewModel(); 
      MasterEvents events = new MasterEvents(); 

      eventDetail.Title = events.Title; 
      eventDetail.CreatedTime = events.CreatedTime; 
      eventDetail.Detail = events.DetailEvent; 
      eventDetail.CreatedBy = events.CreatedBy_Id; 
      eventDetail.Description = events.ShortDescription; 

      return View(db.MasterEvents.ToList()); 
     } 


     public ActionResult View(int id) 
     { 
      MasterEvents MasterEvents = db.MasterEvents.Find(id); 

      return View(); 
     } 



    } 
} 

benim görünümdür: Burada

benim Denetleyicisi'dir

İşte
@model IEnumerable<CBA.Models.MasterEvents> 
@{ 
    ViewBag.Title = "Recruitment - NA Events"; 
    ViewBag.lnkEvents = "active"; 
    Layout = "~/Views/Shared/ContentFrontEnd.cshtml"; 
} 


@Html.Raw(ViewBag.Carousel) 
@Html.Raw(ViewBag.Content) 

<!DOCTYPE html> 

<html> 
<head> 

    <title>Index</title> 
</head> 
<body> 


    <div class="container" style="background-color: white; border-radius: 0 0 15px 15px; margin-bottom: 40px;"> 
     <div class="row" style="margin-top: 30px;"> 
      <div class="col-lg-10 col-lg-offset-1"> 
       @foreach (var item in Model) 
       { 
        <div class="blog-post"> 
         <h2 class="blog-post-title">@Html.DisplayFor(modelItem => item.Title)</h2> 
         <p class="blog-post-meta">Created Time @Html.DisplayFor(modelItem => item.CreatedTime) <!--by <a href="#">@Html.DisplayFor(modelItem => item.CreatedBy_Id)</a></p>--> 
         <h2 class="blog-post-title">@Html.DisplayFor(modelItem => item.ShortDescription)</h2> 
         <div class="readmore"> 
          <p> 
          @Html.DisplayFor(modelItem => item.DetailEvent) 
         </p> 
          </div> 
         <p class="blog-post-meta">Update Time @Html.DisplayFor(modelItem => item.CreatedTime) 
         <p> 


          <br /> 

          <input id="Button2" type="button" value="Read More..." class="btn btn-default" /> 
         </p> 
        </div> 
       } 


       <nav> 
        <ul class="pager"> 
         <li><a href="#">Previous</a></li> 
         <li><a href="#">Next</a></li> 
        </ul> 
       </nav> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

benim modeli:

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

namespace CBA.Models 
{ 
    public class MasterEvents 
    { 
     [Key] 
     [DisplayName("ID")] 
     [ScaffoldColumn(false)] 
     public int Id { get; set; } 

     [Required(ErrorMessage = "Required Events Title")] 
     [DisplayName("Title")] 
     [StringLength(250)] 
     public string Title { get; set; } 

     [Required(ErrorMessage = "Required Short Description")] 
     [DisplayName("Short Description")] 
     [StringLength(250)] 
     public string ShortDescription { get; set; } 

     [Required(ErrorMessage = "Required Details")] 
     [DisplayName("Detail Events")] 
     public string DetailEvent { get; set; } 

     [DisplayName("Created Time")] 
     public System.DateTime? CreatedTime { get; set; } 

     [DisplayName("Updated Time")] 
     public System.DateTime? UpdatedTime { get; set; } 

     [DisplayName("Created By")] 
     public int? CreatedBy_Id { get; set; } 

     [DisplayName("Updated By")] 
     public int? UpdatedBy_Id { get; set; } 
    } 
} 
+0

Denetleyici ve görünüm için aynı kodu verdiniz. Neyse, neden bu hileyi Javascript'te elde edemiyorsunuz? –

+0

soru kafa karıştırıcı – Patel

cevap

1

Kapsüllemek bir formda her öğe örneği böylece zaman kullanıcı daha fazla giriş oku tıklar, makalenin kimliğini tutan gizli metin kutusu gönderilir ve sonra sadece geri alabilirsiniz denetleyicideki tüm makaleyi okur ve sonra görünümünde görüntüler.

  @foreach (var item in Model) 
      { 
       @using(Html.BeginForm("View", "Event")){ 
       <div class="blog-post"> 
        <h2 class="blog-post-title">@Html.DisplayFor(modelItem => item.Title)</h2> 
        <p class="blog-post-meta">Created Time @Html.DisplayFor(modelItem => item.CreatedTime) <!--by <a href="#">@Html.DisplayFor(modelItem => item.CreatedBy_Id)</a></p>--> 
        <h2 class="blog-post-title">@Html.DisplayFor(modelItem => item.ShortDescription)</h2> 
        <div class="readmore"> 
         <p> 
         @Html.DisplayFor(modelItem => item.DetailEvent) 
        </p> 
         </div> 
        <p class="blog-post-meta">Update Time @Html.DisplayFor(modelItem => item.CreatedTime) 
        <p> 


         <br /> 
         @Html.HiddenFor(m => item.Id) 
         <input id="Button2" type="button" value="Read More..." class="btn btn-default" /> 
        </p> 
       </div> 
       } 
      }