0

我的控制器返回以下列表:

public ActionResult Index()
{
    CRMDataContext mycontext=new CRMDataContext();

    var myquery = (from c in mycontext.Websites
                  select c).ToList();

    return View(myquery);
}

我想知道如何循环通过 myquery 在视图中显示其属性?

任何改进上述代码的建议都将增加优势。

4

3 回答 3

4
@foreach(var item in Model){
  ...
}

改进建议:

  • 将您的查询移动到另一个方法/类中以进行核心重用
  • 通过对域和视图使用不同的模型来分离职责
于 2013-03-29T11:54:52.310 回答
0

您可以使用 foreach 循环:

@{
  foreach (var element in Model)
  {
      //Write you html code here.
  }
}
于 2013-03-29T11:57:51.103 回答
0

首先,最好将实体映射到模型中并在视图中使用该模型。最重要的是,如果您不会使用实体中的所有字段。

假设您的实体具有以下结构:

public class Website {
  public string Title {get;set;}
  public string Url {get;set;}
  public string Description {get;set;}
}

在您看来,您可以执行以下操作:

@model IEnumerable<Website> // you may need to fully qualify it or add the namespace in your web.config
@foreach(var o in Model){
  <div>
     <h1><a href="@o.Url">@o.Title</a></h1>
     <p>@o.Description</p>
  </div>
}
于 2013-03-29T11:56:43.813 回答