Sitemde, haberi gösteren bir sütun var. "Ödül" kelimesini içeren bu haberler ile DIV-ler yeşil renkte boyanmalıdır. (Bir kişi Ödül'ü ("Ödül" kelimesi olmadan) belirtmeden bir rekor (bir haber) oluşturduysa, yeşil gerekli değildir. Fakat bir kişi alan modelini doldurduysa.Prize (metinde bir kelimemiz var) "Ödül") div yeşil renkte boyanmış olmalıdır.C# İçindekiler Yöntem
bir görünümde haberleri oluşturmak için bir sahadan model.Prize
<div class="editor-field">
@Html.TextAreaFor(model => model.Prize,4,55,null)
@Html.ValidationMessageFor(model => model.Prize)
</div>
yoktur model.Prize değeri yeni haber kaydı oluşturun Kontrolörü alır
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");
}
Başka bir yöntemde Kontrol Ünitesiüzü beğeneceğ Haberleri görüntüler: Görünüm Blok her giriş için
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);
haber rekoru insert <div class ="newsWrapper">
yaratır.
@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
yeşil renkte bu div boya olacaktır:
@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>
}
ben Blok görünümünde yeni div ekledi sorunu çözmeye çalıştı.
Ama nasıl doğru değilse ViewBag.IsPrize == true
n.Description
eğer kelimesini Ödülü, ve ViewBag.IsPrize == false
içeren alabilirim?
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);
ama yeşil renkte tüm haberler boyalar, sadece kelime Ödülü içerenler. Bunu yapmak istedikleri gibi
Evet, işe yarıyor! Çok teşekkür ederim!!!!! – Dan
@Dylan Bunu doğru cevap olarak işaretlemelisiniz, böylece gelecekteki okuyucular bunu kullanabilir. –