내 사이트에 뉴스를 표시하는 열이 있습니다. "상"이라는 단어가 포함 된이 뉴스의 DIV-s는 초록색으로 그려야합니다. ("상품"이라는 단어가없는) 상을 지정하지 않고 사람이 기록 (뉴스)을 만든 경우, 초록은 필요하지 않습니다. 그러나 사람이 필드 모델을 채운 경우. 미리보기 (텍스트에서 우리는 "상"이) 사업부가 녹색으로 색칠해야합니다.C# 포함 된 메서드
뷰에서 뉴스를 만들기위한 필드 model.Prize
<div class="editor-field">
@Html.TextAreaFor(model => model.Prize,4,55,null)
@Html.ValidationMessageFor(model => model.Prize)
</div>
에게이 model.Prize의 값은 새로운 뉴스 레코드를 생성 컨트롤러 소요
public ActionResult Create(Project project)
{
if (ModelState.IsValid)
{(some code...)
News n = new News();
n.Date = DateTime.UtcNow;
n.Description = project.Shortdescription+"\r\n\Prize:\r\n"+project.Prize;
(some code…)
NewsController.Add(db,n);
db.SaveChanges();
return RedirectToAction("Main");
}
또 다른 방법으로는, ntroller 나는 뉴스를 표시합니다보기 블록의 각 항목에 대해
public PartialViewResult Block()
{
List<News> news = new List<News>();
Int32 count = 0;
foreach (News n in db.News.ToList().OrderByDescending(n => n.Date))
{
if (count++ < 13) news.Add(n);
}
return PartialView(news);
은의 뉴스 기록 삽입 <div class ="newsWrapper">
을 만듭니다.
@foreach (var item in Model)
{
<div class ="newsWrapper">
<div class="@(ViewBag.IsPrize == true ? "GreenNewsClass" : "")">
<p class="newsDate">@item.Date.AddHours(4).ToString("dd.MM.yyyy HH:mm")</p>
<a href="@item.Link"> @item.Title </a>
<p>@Html.Raw(Html.Encode(item.Description).Replace("\n", "<br />"))</p>
</div>
</div>
}
GreenNewsClass
는 녹색이 사업부를 페인트합니다
@foreach (var item in Model){
<div class ="newsWrapper">
<p class="newsDate">@item.Date.AddHours(4).ToString("dd.MM.yyyy HH:mm")</p>
<a href="@item.Link"> @item.Title </a>
<p>@Html.Raw(Html.Encode(item.Description).Replace("\n", "<br />"))</p>
</div>
}
는 내가 블록보기의 새로운 사업부를 추가 문제 를 해결하기 위해 노력했다.
그러나 ViewBag.IsPrize == true
의 경우 및 ViewBag.IsPrize == false
인 경우 n.Description
에 Prize라는 단어가 포함 된 경우 어떻게해야합니까?
public PartialViewResult Block()
{
List<News> news = new List<News>();
Int32 count = 0;
foreach (News n in db.News.ToList().OrderByDescending(n => n.Date))
{
if (count++ < 13) news.Add(n);
if (n.Description.Contains("Призы"))
{
ViewBag.IsPrize = true;
}
else { ViewBag.IsPrize = false; }
}
return PartialView(news);
을하지만 녹색 색상의 모든 뉴스를 페인트뿐만 아니라 단어 상을 포함하는 그. 이 작업을 수행 할 같은
예, 작동합니다. 정말 고마워요 !!!!! – Dan
@Dylan 당신은 이것을 올바른 답으로 표시해야합니다. 그래서 미래의 독자들이 사용할 수 있습니다. –