servicestack,Razor,servicestack" /> servicestack,Razor,servicestack" />

如何从ServiceStack.Razor布局模板访问请求url?

如何从ServiceStack.Razor布局模板访问请求url?,razor,servicestack,Razor,servicestack,我已经使用以下方法为我的站点定义了布局模板.cshtml: @{Layout=“InsideLayout”} 我现在试图获取请求url,以确定在任何时间点都应该将哪个导航菜单项标记为活动。然而,请求对象看起来是空的(但是无法在视图中获得断点,所以这不是100%的问题,但非常确定) 对我来说,似乎当前的请求对象应该在布局视图中正确填充,这样它就可以在其中包含一些上下文相关的标记,但这似乎是不可能的。是否存在布局必须继承的特定类来启用此功能,或者是我看到的预期行为 我认为另一个可行的选择是创建一个自

我已经使用以下方法为我的站点定义了布局模板.cshtml:
@{Layout=“InsideLayout”}

我现在试图获取请求url,以确定在任何时间点都应该将哪个导航菜单项标记为活动。然而,请求对象看起来是空的(但是无法在视图中获得断点,所以这不是100%的问题,但非常确定)

对我来说,似乎当前的请求对象应该在布局视图中正确填充,这样它就可以在其中包含一些上下文相关的标记,但这似乎是不可能的。是否存在布局必须继承的特定类来启用此功能,或者是我看到的预期行为


我认为另一个可行的选择是创建一个自定义服务来支持布局视图。我尝试了这个方法,但是在加载使用布局的页面时,我无法获得要执行的服务代码。这可能吗?

通常,您应该可以访问视图中的请求。但更好的方法是在模型中传递它。只需将信息作为属性添加到要传递到此视图的模型中,并让服务填充它。

通常,您应该可以访问视图中的请求。但更好的方法是在模型中传递它。只需将信息作为属性添加到您要传递到此视图的模型中,并让服务填充它。

我的布局没有支持模型,因为我无法为布局运行任何“服务”。cshtml就像我能够为普通(非布局模板)视图运行一样。好的,那么您是说
请求
对象为空?这非常令人惊讶。我想是的,我无法在视图本身中获得断点,但是如果我尝试使用此属性的任何属性。请求渲染会抛出一个HTTP500:(你不能得到关于这个错误的更多信息吗?你看过事件日志了吗?奇怪的是没有。不知道为什么,但我只是得到了一个空白页面:我的布局没有支持模型,因为我无法得到任何“服务”来运行布局。cshtml就像我能够为普通(非布局模板)运行一样)视图。好吧,那么你是说
请求
对象为空?这非常令人惊讶。我想是的,我无法在视图本身中获得断点,但是如果我尝试使用此属性的任何属性。请求渲染会抛出一个HTTP500:(你不能得到关于这个错误的更多信息吗?你看过事件日志了吗?奇怪的是没有。不知道为什么,但我只是得到了一个空白页: