今天在写博客的页面集功能,根据url去寻找page,linq语句从sitepage的getmodellist()集合中获取符合条件的page,如果查询不到则跳转到404页面。代码是这样的:
var page = (from p in optsitepage.getmodellist() where p.virtualurlpath.tolower() == requesttitle.tolower() select p).first(); if (null == page) { context.response.redirect(“/404.html”); return; }
我故意传了个不存在的url,结果linq语句直接报错:system.invalidoperationexception: sequence contains no elements。查了下msdn发现用了first()的话,如果结果集中没有元素,它是不会返回null的。改成firstordefault()就 好了。
?var page = (from p in optsitepage.getmodellist() where p.virtualurlpath.tolower() == requesttitle.tolower() select p).firstordefault();
traceback http://www.wyjexplorer.cn/home/view/d44f795b009e20fd.html
摘自 汪宇杰
黄山市民网:https://www.huangshanshimin.com/