C#包含方法
发布时间:2020-12-15 05:38:56 所属栏目:百科 来源:网络整理
导读:我的网站有一个显示新闻的列.包含“奖品”一词的DIV-s必须涂成绿色. (如果一个人创建了一个记录(一个新闻)而没有指定奖品(没有单词“Prize”),则不需要绿色.但是如果一个人填写了字段模型.Prize(所以在文本中我们有一个单词“奖”)div必须涂成绿色. 在创建新
我的网站有一个显示新闻的列.包含“奖品”一词的DIV-s必须涂成绿色. (如果一个人创建了一个记录(一个新闻)而没有指定奖品(没有单词“Prize”),则不需要绿色.但是如果一个人填写了字段模型.Prize(所以在文本中我们有一个单词“奖”)div必须涂成绿色.
在创建新闻的视图中,有一个字段模型.Prize <div class="editor-field"> @Html.TextAreaFor(model => model.Prize,4,55,null) @Html.ValidationMessageFor(model => model.Prize) </div> model.Prize的值采用Controller创建新的新闻记录. public ActionResult Create(Project project) { if (ModelState.IsValid) {(some code...) News n = new News(); n.Date = DateTime.UtcNow; n.Description = project.Shortdescription+"rnPrize:rn"+project.Prize; (some code…) NewsController.Add(db,n); db.SaveChanges(); return RedirectToAction("Main"); } 在另一个方法Block of News Controller我显示新闻: 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); 对于View Block中的每个条目,创建< div class =“newsWrapper”>其中插入新闻记录. @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> } 我试图解决这个问题 @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将以绿色绘制此div. 但是如果n.Description包含单词Prize,我如何获得ViewBag.IsPrize == true, 我试图改变方法Block: 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); 但它用绿色描绘所有新闻,而不仅仅是那些包含奖品这个词的新闻. 解决方法
听起来你想要这样做:
@foreach (var item in Model) { <div class ="newsWrapper"> <div class="@(item.Description.Contains("Призы") ? "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> } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |