问题标签 [asp.net-core-mvc-2.1]
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# - ASPNet Core 2.1 加载预编译视图的正确方法
我正在尝试向我的应用程序添加类似功能的插件,并且很难找到预编译的视图。所以可以说我有一个 Razor 类库,它编译为 plugin.dll 和 plugin.views.dll 我已成功加载并添加 plugin.dll
然后将程序集添加到
然后我添加插件基本路径,以便发现其正常视图
以上所有工作都很好,除了我只能使用物理位置的视图而不是 plugin.views.dll 中的视图
添加views.dll并发现视图的正确方法是什么?
c# - 迁移到 ASP.Net Core Identity 2.1 后无法添加迁移
我将我的应用程序从 .Net Core 1.1、EF Core 1.1、ASP.Net Identity 1.1 迁移到所有版本 2.1。我还将我自己的用户(当前称为Diver
)与 IdentityUser 分开,因此我不需要向 ASP.Net Idenentity-EF 提供自定义用户类。
当我现在尝试添加初始迁移时:
我得到错误:
我的上下文如下所示:
完整的源代码可以在GitHub上找到。
我已经尝试了很多东西,比如为 Identity 实体添加忽略语句。没有任何效果,我被卡住了。
有什么想法会出错吗?
asp.net - TempData 没有在生产服务器 [ASP.NET CORE 2.1] 上保留数据
我有一个问题,我搜索了文档以查看可能是我犯了错误或其他什么,但没有找到我正在寻找的答案。我的问题是,保存产品后,我使用 PRG(Post-Redirect-Get) 模式,因此用户在按下浏览器后退按钮时不会重新提交表单。我使用 TempData 显示一次性消息,因为它在删除之前将数据保留到下一个请求。此方法在我的开发环境中运行良好。但是在我将应用程序部署到生产服务器后,虽然操作方法遵循 PRG 模式并成功返回,但 TempData 没有持久化,也没有显示消息。
这是我显示消息的方式:
这是方法示例:
任何帮助,将不胜感激。谢谢!
asp.net-core-mvc-2.0 - 二进制图像无法在视图 asp.net core 2.x 上显示
我将图像上传到具有 byte[] 格式的表中。我的问题是,当我在视图上检索它时,图像不会显示。
模型
控制器
看法
asp.net-mvc-5 - 模型绑定不适用于 .net Core 2.1 中的属性路由
我可以让模型绑定在没有属性路由的情况下正常工作 - 例如:
但我不确定如何将模型传递给处理它的方法。当我提交表单时,它运行原始方法,而不是 [HttpPost] 下的方法 - 它一次又一次地发布到原始方法( // Do stuff 是 - 当我这样做时:
使用属性路由时如何正确绑定模型?
我搜索了谷歌 - 我发现了一些没有帮助的东西,例如: https ://www.red-gate.com/simple-talk/dotnet/asp-net/improved-model-binding-asp-net-core/
谢谢
更新
我还注意到 CustomerId 被附加到 Url,即使在表单发布之后也是如此。我不认为这发生在 MVC 5 中并且不需要这个,CustomerId 隐藏在页面中。
我该如何删除它(它导致路由与 [HttpPost] 装饰方法不匹配。
c# - ASP.net Core 2.1 MVC Validation Tag Helper - 输出 HTML(即停止 HTML 编码)
我有一个注册页面,如果用户键入一个已经注册的电子邮件地址,我需要输出一个链接让他们登录验证消息。
但是,验证标签助手对错误消息进行 HTML 编码,因此链接显示为 HTML。
在视图中:
在控制器中:
如何防止验证器 HTML 编码,或以其他方式在验证消息中正确显示 HTML 链接?
我在 Google 上找不到任何关于此的内容。
谢谢。
c# - 分页和页面冲突 - ASP.Net Core Razor Pages 与 MVC 控制器方法分页冲突
在一个带有 Angular 6 spa 项目的 ASP.Net Core 2.1 中,我使用这个 AccountController.cs 方法返回了一个分页的用户列表:
在 startup.cs 我使用 MVC 如下:
如上所述的代码工作正常,但是当我想在我的项目中开始使用 Razor Pages 时,我创建了一个新的标准 Razor Pages 项目模板并将其 Pages 文件夹添加到当前项目,但只要我这样做并运行项目我收到错误,如果我再次移出 Pages 文件夹,项目开始运行而没有错误。
这是错误描述:
RouteCreationException:属性路由信息出现以下错误:
行动:'MyApiProject.Controllers.AccountController.GetUsers (MyApiProject)'
错误:属性路由“api/Account/users/{page:int}/{pageSize:int}”不能包含名为“{page}”的参数。在路由模板中使用 '[page]' 插入值 ''。
方法代码无需更改,因为它与现有的 Angular spa 配合得很好。那么解决方法是什么?
c# - 我应该如何通过 Autofac.Dependency 注入库将参数传递给 Autofac 容器以进行自动依赖解析
这是问题所在。我目前正在使用 Autofac 在我的 AspNetCore MVC 应用程序中使用 TypedParameters 解决所有依赖项,但我认为我做错了什么,我可以做得更干净。
以下是以下代码示例
- 服务的配置。
- 要注入的示例存储库
- 当前使用的方法
- 我想做的事
配置:
样本库:
目前我得到以下存储库:
我希望它是那样的
所以基本上问题是:如何在构造函数中注入类型略有不同(更抽象)的已注册类型?
jquery - 使用 RedirectToAction 传递 TempData 在 Visual Studio 中有效,但在生产中无效
Web 应用程序 ASP MVC Core 2.1 我有两个具有父子关系的模型,它们是 Course 和 CourseEdition;一个课程可以有多个版本。
我显示课程详细信息的页面还显示了其版本列表。我使用 JQuery 用该版本的详细信息填充同一页面:单击其中一个版本时,我有一个 DIV 填充了它的详细信息数据。我想以重定向到版本详细信息来结束某些操作(即在一个版本中注册一个或多个人)。
我已经建立了这样的机制:
在控制器操作“RegisterPeople”中,我将 TempData 设置为要重定向到的版本的 ID,然后重定向到 CourseController 中的 Details 操作。
在这里(课程控制器,详细信息操作)我读取 TempData 并将其值复制到 ViewBag 中。
在详细信息视图中,我有一个 DIV,其数据属性由 ViewBag 值(版本 ID)填充,
现在,在 _CourseScript.cshtml 中,当单击此 div 时会触发一个 JQuery 事件处理程序,该处理程序具有填充版本 div 的魔力。
当我使用 Visual Studio 进行开发时,这非常有效。当我部署到远程 IIS 服务器时,TempData 填写在“注册”操作中,但在输入“详细信息”操作时发现它为空。
谁是罪魁祸首?为什么 TempData 在开发模式下持续存在并在生产中消失?
编辑 1
使用会话
在 Startup.cs 中
asp.net-core - ModelState.IsValid 正在验证引用的实体
我有以下实体:
正如你所看到的,这个类有一个属性,它引用了一个名为 Etapa 的实体
此类 Etapa 对属性 Nombre 进行了验证。现在关于 Ambiente 类,在提交数据以插入数据库时,我在 Insertar Action 中使用此代码:
当此代码到达 ModelState.IsValid 语句时,它会抛出 false 并出现以下消息:
“Especifique un nombre de Etapa”
这是我的 Etapa 类的属性 Nombre 的文本。
当我从 Insertar Action 中的参数快速观察我的变量环境时,我看到以下内容:
这个 Etapa 实体用于在我的视图中填充下拉列表。数据库中已经存在所有值,因此我不打算向该实体添加记录。
我不知道如何绕过这个引用实体 Etapa 的验证。