为啥 .Mobile.cshtml 未在 ASP.NET Core C# Razor Pages Web 应用程序中呈现?

Posted

技术标签:

【中文标题】为啥 .Mobile.cshtml 未在 ASP.NET Core C# Razor Pages Web 应用程序中呈现?【英文标题】:Why .Mobile.cshtml is not rendered in ASP.NET Core C# Razor Pages Web application?为什么 .Mobile.cshtml 未在 ASP.NET Core C# Razor Pages Web 应用程序中呈现? 【发布时间】:2020-12-04 03:45:46 【问题描述】:

我们正在使用 .NET Core 3.1 作为框架、C# 作为编程语言和 Razor 页面来构建一个 ASP.NET Core 3.1 Razor Web 应用程序。 Web 应用程序还必须与移动设备兼容。

我们是 Razor 页面的新手。

我们首先创建了一个基本的 Razor 页面 ASP.NET Core Web 应用程序。我们创建了一个登录页面作为起始页面。

为了让登录页面也能在移动设备上运行,我们按照本教程进行了更改:Rendering ASP.NET Web Pages (Razor) Sites for Mobile Devices

我们创建了 Pages\Login.cshml 的一个版本,并进行了一些 UI 更改,并将其重命名为 Pages\Login.Mobile.cshtml。我们也

但在运行时,当移动设备请求Pages\Login.cshtml 时,Pages\Login.Mobile.cshtml 不会被调用。

问题:为什么 .Mobile.cshtml 没有在 ASP.NET Core C# Razor Pages Web 应用程序中呈现?

【问题讨论】:

【参考方案1】:

该文档描述了旧版本 ASP.NET 的功能,即 ASP.NET 网页(版本 2.0 到 3.5)。此功能在 ASP.NET 4 中已弃用。

您使用的是 ASP.NET Core 3.1? Core 是在 ASP.NET 4 之后出现的,所以你不能再使用那个特性了。

【讨论】:

谢谢,.NET Core Razor 页面如何实现移动渲染功能?有教程或示例的链接吗? 为移动浏览器提供不同的页面并不是真正的最佳实践。最好的方法是创建可在移动和桌面浏览器上运行的响应式网页。人们使用 Bootstrap 或类似框架来执行此操作,或者自己编写 CSS。

以上是关于为啥 .Mobile.cshtml 未在 ASP.NET Core C# Razor Pages Web 应用程序中呈现?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET DropDown SelectedIndexChanged 未在 Firefox 中使用 UpdatePanel 触发

远程属性验证未在 Asp.Net MVC 中触发

ASP.NET DropDownList 未在 SelectedIndexChanged 上绑定 SQL

标签助手未在 ASP.NET Core 2 中处理

Javascript 未在服务器控制 ASP.Net 上运行

EmailAttribute 未在 ASP.NET Core 的 ViewModel 中正确验证