0

我是 MVC3 的新手

DB 有一个名为 users (id,name,username,lat,lon) 的表。我无权访问数据库。

我使用上表创建了实体模型。然后,我创建了 SearchController 和 Search View。在索引页面上,我显示所有用户的列表。另外,我在页面上创建了一个使用用户名搜索表的表单。单击详细信息链接后,我将显示详细信息页面,其中显示了用户的详细信息。

现在我需要显示所选用户一英里内的其他用户。我已经有 sql 查询来获取所选用户一英里内的其他用户的列表(这是一个 sql 查询)。我需要在详细信息页面上显示此列表。

我创建了一个自定义类模型。

public class SearchDetailsViewModel
{
    public decimal id { get; set; }
    public string name { get; set; }
    public string username { get; set; }
    public Nullable<decimal> lat { get; set; }
    public Nullable<decimal> lon { get; set; }
    public string profile_img_url { get; set; }
    public IQueryable<user> usersWithinAMile { get; set; }
}

我不确定这是否是正确的方法。另外,我不知道如何初始化这个类。

非常感谢任何帮助或建议。

4

1 回答 1

0

是的,你在正确的轨道上,你从你的 SQL 中获取数据到类中,然后到视图中,在 ActionResult 中,如下所示:

using System.Collections.Generic;

public ActionResult Index() {
    var data = new List<SearchDetailsViewModel>();
    // foreach row in your SQL
    var s = new SearchDetailsViewModel();
    s.lat = -42.00000M;
    // more data added to the s object here
    data.Add(s);
    // end loop

    return View("ThePage", data);
}

然后在您的视图本身上,您将执行以下操作:

@foreach (var s in Model) {
    // output your values on the page
}   
于 2012-05-01T01:02:29.420 回答