问题标签 [razor-pages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ASP.NET Core 2,使用没有 MVC 的 Razor 页面单击按钮
正如有人在评论中指出的那样,Razor 页面不需要控制器,就像您在 MVC 中习惯的那样。我现在 Razor 也没有对按钮单击事件的本机处理。要在用户单击按钮时做某事(在“代码隐藏”中),我们至少有两个选项:
- 使用提交按钮
- 使用 ajax 调用
我找到了很多 MVC 示例,展示了如何定义控制器函数。但如前所述,我没有。
因此,我试图理解这两种方式。这是我的测试cshtml:
这里是cshtml.cs:
公共类 TestModel : PageModel { private readonly MyContext _context;
问题
使用“Way1”(提交)我可以点击按钮,但有一些缺点。默认情况下,由于帖子而重新加载页面。有时我不需要更改任何内容,只需调用 C# 函数即可。但我不明白如何处理多个按钮。即,如果我有 5 个按钮,如何为每个按钮做一些不同的事情?
使用“Way2”我做错了,因为从未达到 cs 代码中的函数并且我收到错误请求错误 (400)。我错过了什么?
c# - How to retrieve a service in razor pages with dependency injection
In ASP.NET Core 2 application I set up some services:
In program.cs
I'm able to retrieve my own Service:
Now I'm trying to understand how to do the same when I don't have the host variable, like in any other C# class or even if a cshtml page:
c# - 如何在 asp.net core 2 中将图像上传到磁盘,剃须刀页面
我是 asp.net 框架的初学者,但我真的鼓励学习和应用它。 https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start
我跟着它,一切都很好,我通过添加新模型,表格。
假设我们有 Movie 模型:
以下是创建过程的代码:
以下是 from 的一部分:
现在我想在表单中添加一个新字段来上传“封面图片”,以便用户可以浏览并选择电影的封面图片以相同的形式上传。
我的问题是:
我想将文件名存储在数据库中,所以每部电影都有一列“CoverImage”,然后我可以用它来显示或删除。这是好方法吗?
存储文件的最佳位置是什么?在“wwwroot”或其他文件夹中或无关紧要?
上传图片的最佳或最新方法是什么?我应该在上面的三段代码中添加什么?我进行了搜索,发现了许多方法和方法,但是作为 asp.net 的专家,我需要从您那里知道什么是最好的方法。
css - 从项目值中选择一个 CSS 类
在 cshtml 页面中,我可以根据数据库值选择一个类。例子:
“状态”是我的表的枚举,定义如下:
上面的 Razor 语法将根据项目值向我的警报添加一个类。好的!
但现在我需要将这个类“翻译”为 Bootstrap 的类。例子:
我可以使用 Razor 手动执行此操作,但我想知道是否有一种方便的方法可以直接在 css 中执行此操作,例如(元代码):
javascript - 使用 ASP.NET Core 2.0 更新视图中的实时数据
据我了解,当服务器处理客户端请求(例如 GET)时,它将通过 Razor/Controller 代码运行以生成要返回的 html 页面。
在我的页面中,我显示了一个表格,其中包含从我的模型中读取的数据。现在我能够:
- 当有新数据可用时更新整个页面
- 使用 Ajax 和一些 Javascript 来“实时”更新我的视图上的项目
我想知道是否有一种“本机”方法可以做到这一点,而无需手动使用 Ajax。当我更改模型数据时,视图上的相关值会自动更新。
最重要的是是否可以在服务器端执行此操作,而无需像 Ajax 解决方案中那样连续轮询。
编辑
有人否决了这个问题。我猜是因为它被贴上了“太宽泛”的标签。那么,我试着问一个更狭窄的问题。
DbSet
“如何在视图发生变化时更新特定值List<>
,而无需从客户端进行轮询。`
c# - Razor-Page:渲染一个完整的页面(chstml+chstml.cs)
据我了解,部分页面只有 cshtml 代码,而 ViewComponent 只有 cs 代码。也许我的方法是错误的,但我试图在另一个页面中呈现一个完整的页面(cshtml + cshtml.cs)。
真实的例子。Visual Studio 2017,ASP.NET 核心 2。
导航栏.cshtml:
导航栏.cshtml.cs
_Layout.cshtml:
在此示例中,我尝试在导航栏中添加徽章。因为 _Layout 文件后面没有代码,所以我不得不把它放在一个单独的页面(NavBar)中。
问题是,当我尝试渲染页面时,它会询问构造函数参数。恐怕我已经以这种方式破坏了依赖注入。
razor-pages - asp.net core 2.0 mvc中的分页系统
我想为我的项目创建一个包含列表的所有页面的通用分页组件。
我曾经使用过老式的网络表单,但我不确定在 asp.net mvc 核心中使用最佳实践。
我已经阅读了 Microsoft 提供的很棒的文档:https ://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/sort-filter-page#add-paging-functionality-to-the -students-index-page
我已将 PaginatedList 类放入我的项目中。
一切都很好。
但我想将用于分页的 html 内容放在部分视图中(以分解 html 代码):
然后,我想将此行放在每个列表页面的底部:
我有两个问题:
在我的部分视图的第一行,我不知道应该放置哪种数据类型。它可能是 PaginatedList、PaginatedList 或其他任何东西。我不知道说“模型是分页列表,其中 T 可以是我项目的任何实体”的好语法。我试图放置对象而不是 T,但它不起作用。
如您所见,prev/next 链接包含其他参数(param1)。该参数可以是过滤器。但是这个过滤器不一样。有没有办法对标签说:“复制您可以看到的每个 GET 参数及其当前值”?
谢谢
authorization - 如何在 Razor 页面中设置授权 URL
我的配置服务如下:
当需要授权的页面被调用时,它会被重定向到带有类似 localhost:58731/User/Login?ReturnUrl=%2F 的 URL 的登录页面
我怎样才能像这样设置这个网址:localhost:58731/Login/%2F
谢谢。
asp.net-core - 无法在 Razor 页面中使用 ajax 获取 json 数据
我正在尝试从 ASP.NET Core 2.0 中的 Razor Pages 获取一些数据。
但问题是它不返回任何数据。我也试过调试它,它根本不会触发那个方法(OnGetProducts)。
模型Index.cshtml.cs:
剃须刀页面 Index.cshtml
将此页面放在 Pages/Products/Index.cshtml(.cs) 文件夹中