我是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; }
}
我不确定这是否是正确的做法。另外,我不知道如何初学这门课。
非常感谢任何帮助或建议。
答案 0 :(得分: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
}