0

私はMVC3を初めて使用します

DBには、users(id、name、username、lat、lon)というテーブルがあります。データベースにアクセスできません。

上記の表を使用してエンティティモデルを作成しました。次に、SearchControllerとSearchViewを作成しました。インデックスページに、すべてのユーザーのリストを表示します。また、ユーザー名を使用してテーブルを検索するフォームをページに作成しました。詳細リンクをクリックすると、ユーザーの詳細を表示する詳細ページが表示されます。

次に、選択したユーザーから1マイル以内にいる他のユーザーを表示する必要があります。選択したユーザーから1マイル以内にいる他のユーザーのリストを取得するための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 に答える