假设我有 2 页
/NotADefault.cshtml
/Views/Default.cshtml
问题1。
现在我运行它,页面A
无论我如何命名它,它总是被隐式地调用为启动默认页面。
Page B
仅当我显式调用 localhost/View/Default 时才会调用。如何制作页面B
(查看文件夹中的那个)我的默认页面?
问题2。
我也有NotADefaultService.cs
and DefaultService.cs
。我在后面给每个页面一个服务类。然而,当页面A
叫做NotADefaultService.cs
永远不会被叫到。仅有的DefaultService.cs
当页面被调用时B
叫做...
我的观察是,只有View
文件夹将使他们的后端服务类正常工作。在外面View
文件夹不起作用。
结合 Q1 和 Q2。
我如何能:
选项1。让后端服务类在下面工作/ root
在“查看”文件夹之外?
OR
选项 2。委/View/Default.schtml
作为我在启动时的默认设置,可以在哪里达到服务类别?
In 服务栈 http://www.servicestack.net/:
- 存在于的 Razor 页面
/Views/
文件夹被称为查看页面
- 存在于其他任何地方的 Razor 页面称为内容页面
他们之间的区别在于查看页面是用于提供 HTML 表示形式的 Razor 视图(也称为视图)用于服务视图页面对于 MVC 控制器的工作方式非常相似。
查看页面cannot直接被调用,这就是作用内容页面, which can only直接调用,即在服务上下文之外(或从服务重定向到)。
In 剃刀摇滚明星 http://razor.servicestack.net/,内容页面的示例包括:
-
/星星/死/科本/ http://razor.servicestack.net/stars/dead/cobain/这称为/stars/dead/Cobain/default.cshtml https://github.com/ServiceStack/RazorRockstars/blob/master/src/RazorRockstars.WebHost/stars/dead/Cobain/default.cshtml内容页
-
/TypedModelNoController http://razor.servicestack.net/TypedModelNoController这称为/TypedModelNoController.cshtml https://github.com/ServiceStack/RazorRockstars/blob/master/src/RazorRockstars.WebHost/TypedModelNoController.cshtml内容页
而例子查看页面包括:
-
/摇滚明星 http://razor.servicestack.net/rockstars哪个匹配
/rockstars
路线上的/RockstarsService.cs https://github.com/ServiceStack/RazorRockstars/blob/master/src/RazorRockstars.WebHost/RockstarsService.cs并且由于[DefaultView("Rockstars")]
属性,使用/Rockstars.cshtml https://github.com/ServiceStack/RazorRockstars/blob/master/src/RazorRockstars.WebHost/Views/Rockstars.cshtml 查看页面
默认页面
For 内容页面 the default.cshtml
是文件夹的索引页。所以要为root设置一个默认页面/
路径,创建一个/default.cshtml
页。一个例子是/默认.cshtml https://github.com/ServiceStack/ServiceStack.UseCases/blob/master/Reusability/default.cshtml主页中使用的可重复使用性 https://github.com/ServiceStack/ServiceStack.UseCases/tree/master/Reusability demo.
如果您想使用视图页面作为主页,您可以通过添加 AppHost 配置来设置默认重定向:
SetConfig(new HostConfig {
DefaultRedirectPath = "/home"
});
这会调用一个service匹配的/home
路线将根据中列出的规则使用最合适的视图页面剃刀摇滚明星 http://razor.servicestack.net/ page.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)