Asp.net 自定义控制器按非ID查找
我如何创建一个自定义详细信息来搜索,而不是通过id,而是通过包含以下属性的特定witch 这里我有一个模型调用菜单,里面有以下属性Asp.net 自定义控制器按非ID查找,asp.net,asp.net-mvc-3,asp.net-mvc-4,Asp.net,Asp.net Mvc 3,Asp.net Mvc 4,我如何创建一个自定义详细信息来搜索,而不是通过id,而是通过包含以下属性的特定witch 这里我有一个模型调用菜单,里面有以下属性 ID Title Link 我知道我可以通过以下方式详细说明 Details(int id) { Menu menu= db.Menus.Find(id); } 然而,我希望这是一个字符串 像localhost/about 我知道我必须创建一个自定义路由,我可以这样做,但我不知道如何通过字符串链接查找。我的尝试失败了 Details(string link) {
ID
Title
Link
我知道我可以通过以下方式详细说明
Details(int id)
{
Menu menu= db.Menus.Find(id);
}
然而,我希望这是一个字符串
像localhost/about
我知道我必须创建一个自定义路由,我可以这样做,但我不知道如何通过字符串链接查找。我的尝试失败了
Details(string link)
{
Menu menu= db.Menus.Find(link);
}
尝试使用:
其中,SomeProperty
显然是您想要比较的模型上的属性。如果未找到与指定条件匹配的元素,FirstOrDefault
扩展方法将返回null
。因此,处理这种情况取决于您。尝试使用:
其中,SomeProperty
显然是您想要比较的模型上的属性。如果未找到与指定条件匹配的元素,FirstOrDefault
扩展方法将返回null
。所以这件案子由你来处理
public ActionResult Details(string link)
{
Menu menu = db.Menus.FirstOrDefault(m => m.SomeProperty == link);
...
}