您如何处理这么多的index.cshtml页面?

我的项目到处都是Index.cshtml页面,这很令人困惑。更不用说还存在多个名为“创建”,“编辑”,“删除”等的页面。从最终用户的角度来看,一切都很好,但是作为开发人员,我必须不断检查我正在使用哪个索引页面(基于包含的文件夹名称)。您如何处理这种情况并简化开发?

您如何处理这么多的index.cshtml页面?

lixiangzyz 回答:您如何处理这么多的index.cshtml页面?

在Razor Pages中,URL和文件名默认紧密结合。但是,您可以通过@Page指令(显示在.cshtml文件的开头)更改路由来解除它们的耦合。这使您可以在项目中重命名.cshtml文件,但保留现有URL。

例如,将默认页面Pages/Index.cshtml重命名为Pages/Home_Index.cshtml,然后将@Page伪指令更改为@Page "/"

类似地,您可以将页面Pages/PCL/Index.cshtml重命名为Pages/PCL/PCL_Index.cshtml,然后将其@Page伪指令更改为@Page "/PCL",但URL不会更改(用户不会破坏书签)在项目中,您的代码文件已明确命名。

enter image description here

关于主题can be found here的出色文章,作者为此添加了警告:

  

“” ... RedirectToPage方法必须继续使用页面的文件名“

我要补充一点,asp-page=标记助手也有类似的警告,因此在这种情况下,您需要将它们更改为:asp-page="/Home_Index"

,

总之,正如@ gunr2171在评论中所说,不需要将“索引”用作默认页面。

Watch here for change the default routes of application.

我个人还尝试使用更少的页面,将相似的页面合并为一个页面,并使用@Html.Partial()函数加载特定的部分。

,

您需要通过使用有意义的名称创建操作方法来重构代码,并相应地重命名视图。最好先着重于第一步的完成工作,但是一旦完成功能,回头再重构代码以实现将来的可维护性始终是个好习惯。

本文链接:https://www.f2er.com/3116738.html

大家都在问