0

这听起来很基本,但我找不到答案。

我将 Message 结构传递给 View,我想显示它。

如果 Message.Category 字段是“技术”,我想显示“技术问题”,否则就按原样显示。

如何让视图理解技术问题不是陈述,而是我要显示的 html 文本?

我的代码:

<span class="cright" id="cat">
@{
    if (String.Compare(ViewBag.Message.Category, "Technical") == 0) 
    {
     Technical Problem <----THIS  
    } 
    else @ViewBag.Message.Category
 }
</span>

更多信息:我正在开发一个消息传递系统。用户创建一条消息,并在发送消息时查看它。该类别是强制性的(问题、建议或技术问题),为了避免数据库中的冗余,我将最后一个选项截断为“技术”,但是当用户查看他们发送的消息时,我希望它完整显示。

谢谢大家; 从我得出的所有答案中:

<span class="cright" id="cat">

      @if (ViewBag.Message.Category == "Technical ")
         {<text>Technical Problem</text>}
       else
         {<text>@ViewBag.Message.Category</text>}

</span>

就像我想要的那样工作。

4

3 回答 3

0

这是你想要的?

@("Technical Problem")

或者

<text>Technical Problem</text>

或者

@:Technical Problem

阅读http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx了解语法..

于 2012-06-12T09:11:55.083 回答
0

您可以使用

<text>Technical Problem</text>

为了这。

于 2012-06-12T09:12:57.847 回答
0

原始答案

if(ViewBag.Message.Category == "Technical")
{
  <span>Technical problem</span>
}
else
{
  <span>Problem is : @(ViewBag.Message.Category)</span>
}

更新的答案

  //Model
   public class Message
   {
      public int ID {get; set;}
      public string Message {get; set;}
      public string Category {get; set;}
   }

   //Controller
    public ActionResult Index()
    {
      //If you use Linq to Sql, I made this up but this should give you an idea

      using(MessageDataContext context = new MessageDataContext())
      {
        var messages = context.Messages.Where(m => m.Category == "Technical")
       .Select(m => new Message { ID = m.ID, Message = m.Text, Category = m.Category});

        return View(messages);
      }
    }

//View
@model IEnumerable<Message>

@foreach(var message in Model)
{
    if(message.Category == "Technical")
    {
      //Id and class will be "TechnicalMessage1"
      //Now you can create css class called "TechnicalMessage1" and only message with Id = 1 will have it
      <span id="@(message.Category)Message@(message.ID)" class="@(message.Category)Message@(message.ID)">Technical problem</span>
    }
    else
    {
      <span>Problem is : @(ViewBag.Message.Category)</span>
    }
}
于 2012-06-12T09:21:23.283 回答