Tag: asp.net mvc

asp.net MVC绑定特定模型导致post请求错误

嗨,我在控制器中定义了以下两个操作 [Authorize] [HttpGet] public ActionResult Edit() { ViewData.Model = HttpContext.User.Identity; return View(); } [Authorize] [HttpPost] public ActionResult Edit(User model) { return View(); } 但是,如果我将编辑后的数据发布到第二个操作,我会收到以下错误: Server Error in ‘/’ Application. An item with the same key has already been added. Description: An unhandled exception occurred during the execution of the current web request. Please review the […]

如何将数据从视图传递到ASP.NET MVC中的UserControl?

假设我想做最简单的数据传递,如下所示: 我想要做的是将变量i作为参数传递给UserControl,以便它显示一个数字,例如,有边框的div。 这怎么可能? 谢谢

在单个解决方案中混合使用VB ASP.NET和C#ASP.MVC项目

背景 我们是一个TDD团队,他们inheritance了遗留的ASP.NET应用程序,并试图通过分离表示,业务和数据访问问题来控制它,从而提高可测试性。 我们已经使用MVP模式为新添加的页面取得了一些成功,但是正在调查MS MVC框架,看它是否给我们带来了超过MVP的任何好处。 重要的是,我们希望新的MVC工作在C#中,而遗留应用程序在VB中。 我们已经看过这个博客条目,它主要实现我们想要的但不允许我们用C#编写代码。 此外,有许多关于跨多个项目划分单个Web应用程序的博客条目看起来很有用( 这里 ) 题 你能创建一个工作原型,由一个由两个项目组成的Web应用程序组成(默认的VB ASP.NET项目和默认的C#MVC项目)并让它们很好地协同工作。 我无法成功地做到这一点(我认为由于路由问题)。 如果你能,我想看看你的web.config和global.asax文件。

获取淘汰模型中的MVC人员模型书列表(可观察数组)

在淘汰模型中获取MVC模型参数的最佳实践是什么? 1)如果只需要一个参数,可以使用以下命令设置knockout view model属性: this.firstName = @Model.FirstName; 2)如果您在模型中拥有大量属性,则可以执行以下操作: var modelData = function () { return @Html.Raw(Json.Encode(Model)); }(); 然后再用 this.firstName = modelData.FirstName; this.lastName = modelData.LastName; this.phoneNumber = modelData.PhoneNumber; etc. 3)如果你在Person模型中有一些Collection,该怎么办? 从个人模型中获取集合的最佳方法是什么? 例如,Person有FirstName,LastName,PhoneNumber等,并且有一个书籍列表 (每本书都有图块,作者和其他属性)。 我相信你可以使用这样的东西: var booksJSON = @Html.Raw(Json.Encode(Model.Books)); 然后在淘汰人模型中使用: self.books = ko.observableArray(booksJSON); 这只给了书。 但是,如果我想获得有关Person(书籍,包括FirstName,LastName,Phone和一堆属性)的所有信息,那么最好的方法是什么呢? 我可以以某种方式使用Json.Encode为整个Person模型,然后离开那里的一切,包括Person.Books或我应该将它分成多个Json.Encode-s ??

字符串参数’migrationId’不能为空

如果这已经得到回答,请提前道歉,但我诚实地深挖并找不到与此错误有关的任何内容。 简而言之,我无法使用ASP.NET Core 1.1.2项目中的代码对我的数据库进行任何更新。 这是一个例外,因为它错过了一个我认为不与PMC有关的论点。 使用“更新数据库”时出现错误消息: 用于交叉检查Google的文字;-) System.ArgumentException: The string argument ‘migrationId’ cannot be empty. at Microsoft.EntityFrameworkCore.Utilities.Check.NotEmpty(String value, String parameterName) at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrations() at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_1.b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) The string argument ‘migrationId’ cannot be empty. Migrations文件夹与我的’_EFMigrationsHistory’表相同(忽略计划更新的上次迁移): 我甚至已经删除了迁移文件夹和’_EFMigrationsHistory’表并再次启动,这表示同样的错误。 我也打算测试’v2.0.0-preview2-final’以防它是一个bug,但遗憾的是我的VS版只需要发布版本,显然你需要15.3。 版本信息: Visual Studio Enterprise 2017 – 15.2(26430.16)发布 entity framework核心v1.1.2 ASP.NET […]

如何使用LINQ连接多个表

我正试图用LINQ连接三个表。 我的SQL工作如下: Select j.Id, u.FirstName , u.LastName, u.Role From Job j left join JobTranslator as jt on j.Id = jt.JobId left join JobRevisor as jr on j.Id = jr.JobId left join [User] as u on jt.UserId = u.Id OR jr.UserId = u.Id Where u.Id = someID; 我可以使用下面的两个连接来使用它: IQueryable jobs = from j in _db.Jobs join […]

无效

我的Web.config包含以下内容: 我不想显示默认的ASP.NET错误页面,所以我清除了我的响应: protected void Application_EndRequest(object sender, EventArgs e) { if (Response.StatusCode >= 400) { Response.Clear(); } } 这将停止显示默认的ASP.NET错误页面。 不幸的是,我的自定义错误页面也没有出现。 即使我的响应为空, PassThrough也不会执行我的自定义错误页面路径(没有命中断点)。 如果我使用existingResponse=”Replace” ,一切正常,但为什么它不适用于PassThrough ?

如何将默认值设置为DateTime参数

在我的MVC应用程序中,我想将默认值设置为DateTime参数。 [HttpPost] public ActionResult BudgetVSActualTabular(DateTime startDate) { var Odata = _db.sp_BudgetedVsActualTabular(startDate).ToList(); string[] monthName = new string[12]; for (int i = 0; i < 12;i++ ) { DateTime date = startDate; date = date.AddMonths(i); monthName[i] = date.ToString("MMMM") + " " + date.Year.ToString(); } ViewBag.startDate = new SelectList(_db.DaymonFinancialYears, "startDate", "DateRange"); var MonthName = monthName.ToList(); ViewBag.Bdata = Odata; […]

TextBoxFor decimal

在我的数据库中,我存储了数据类型为decimal字段。 我在ASP.NET应用程序中使用完全相同( decimal )的数据类型。 这是在我的视图中,以显示值。 @Html.TextBoxFor(model => model.Stock, new { id = “Stock”, @class = “k-textbox” }) 这非常直截了当。 我面临的唯一问题是默认情况下,在我的视图中,数据显示为4位小数。 我举几个例子说明它的外观和外观: 1,0000 => 1 1,2000 => 1,2 1,4300 => 1,43 1,8920 => 1,892 1,5426 => 1,5426 正如您所看到的,我希望将所有0作为小数位切掉(仅在视图中显示时)。 记住:我使用的是逗号而不是小数点。 编辑: 我的模特 public class Article { public decimal? Stock{ get; set; } }

图Api – 401未经授权

刚开始使用图形/办公室API,哇,这是一个雷区! 只是想知道是否有人可以给我任何建议? 当我尝试联系https://graph.microsoft.com/beta/me/files时,我得到401。 我的JWT如下: { “aud”: “https://graph.windows.net/”, “iss”: “https://sts.windows.net/916970f4-e570-4036-a353-8ae647af1d3e/”, “iat”: 1444794383, “nbf”: 1444794383, “exp”: 1444798283, “ver”: “1.0”, “tid”: “916970f4-e570-4036-a353-8ae647af1d3e”, “oid”: “c454b826-612f-4525-8995-87f1a24dc3df”, “sub”: “c454b826-612f-4525-8995-87f1a24dc3df”, “idp”: “https://sts.windows.net/916970f4-e570-4036-a353-8ae647af1d3e/”, “appid”: “568d0906-4131-4b97-8b08-9efdbe1636c4”, “appidacr”: “1” } 我的令牌以一种相当奇怪的方式被获取…我有一个web项目azure AD,谁的令牌用于获取web api Azure Ad令牌,然后该令牌用于生成图api jwt,如上所示。 下面是怎么回事: