我可以在代码隐藏文件中正确获取URL,但同一语句在内联语句中不返回任何内容。
这是我的RegisterCustomRoutes方法的一部分,它在Application_Start中执行:
void RegisterCustomRoutes(RouteCollection routes) {
// Student list route
routes.MapPageRoute(
"StudentListRoute",
"Course/{courseId}/Students",
"~/path/to/page.aspx");
// Course details route
routes.MapPageRoute(
"CourseDetailsRoute",
"Course/{courseId}",
"~/path/to/otherpage.aspx");
... some other route declarations
}
然后,在我的一个.aspx页面中,我有以下内联语句:
<a href="<%# GetRouteURL("CourseDetailsRoute", new { courseId = 1}) %>">Some text</a>
我希望生成的网址为:
/Course/1
相反,不返回任何内容(null或string.Empty)。同样,我已经确认此语句在代码隐藏文件中正确返回所需的URL。
答案 0 :(得分:1)
我的内联声明使用&lt;%#...%&gt;标签,保留用于数据绑定目的。将我的内联语句更改为,
<a href="<%: GetRouteUrl("RouteName", new { param = paramValue }) %>">Anchor text</a>
解决了我的问题。