2016-04-14 5 views
1

ウェブサイトのフロントページに、私のデータベースの上位5つのニュース記事が日付順に表示され、100文字後に "...続きを読む"と表示されます。どの作品。 記事の簡単な説明の後にこの「もっと読む」が表示される記事については、「もっと読む」をどのように追加できますか?ここ表示方法mvc asp.netで続きを読む

は私のコントローラである:ここ

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(); 
     } 



    } 
} 

は私の図である。

@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> 

ここに私のモデル:

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

コントローラとビューに同じコードを指定しました。 とにかく、このトリックをJavascriptで達成してみませんか? –

+0

質問が混乱しています – Patel

答えて

1

ようときに、フォームの各項目のインスタンスをカプセル化ユーザーは、より多くの入力を読むと、記事のIDを保持している隠れたテキストボックスがポストされます。コントローラー内の記事全体を表示し、それをビューに表示します。

  @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> 
       } 
      } 
関連する問題