我正在尝试学习ASP.NET MVC,所以我做了测试项目,我希望在索引中显示城市列表,当您点击城市以查看这些城市中的属性时。
然后我在global.asax中做了一些更改,以便提供漂亮的URL:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Home-Browse",
"Accommodation-{city}",
new { controller = "Home", action = "Browse", city = "" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
所以现在看到城市列表后,我点击其中一个,我得到的网址如下:/Accommodation-Amsterdam
我的问题是我不知道如何进行内连接,以告诉控制器向我显示所选区域的属性。 (我告诉过你我刚刚学习这个)
我的家庭主管:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using accomm2.Models;
namespace accomm2.Controllers
{
[HandleError]
public class HomeController : Controller
{
dataEntities _db;
public HomeController()
{
_db = new dataEntities();
}
public ActionResult Index()
{
ViewData.Model = _db.Cities.ToList();
return View();
}
public ActionResult Browse()
{
//ViewData.Model = _db.Properties.ToList();
var properties = from c in _db.Cities
from p in c.Properties
where c.CityId == CityId
select c;
return View(properties.ToList());
}
}
}
有人可以帮我解决我的Linq查询问题,或者至少指导我做正确的方法吗?
答案 0 :(得分:1)
在您的浏览器上,只需添加string city
作为参数,它就会被MVC神奇地填充。