Tag: asp.net mvc

找不到方法:’Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)’

我有一个ASP.net MVC应用程序,它使用由xamarin应用程序共享的可移植类库。 当我的Web应用程序立即启动时,它会抛出此错误: Method not found: ‘Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)’. 我正在使用Structure Map MVC nuget包,它工作正常,直到我引用了PCL库。 它在这行代码中出错: GlobalConfiguration.Configuration.DependencyResolver = new StructureMapDependencyResolver(container); 我认为它与PCL类和MVC有关,它们都引用了JSON.net。 有想法该怎么解决这个吗? 我最终重建了我的机器,以确保只有这个版本在GAC中,而不是在其他地方。 有任何想法吗

每种类型自定义Json.NET序列化程序设置

我正在使用ApiController,它使用全局HttpConfiguration类来指定JsonFormatter设置。 我可以非常容易地全局设置序列化设置: config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.Objects; 问题是并非所有设置都适用于我的项目中的所有类型。 我想为执行多态序列化的特定类型指定自定义TypeNameHandling和Binder选项。 如何在per-type上指定JsonFormatter.SerializationSettings,或者至少在per-ApiController上指定?

通过VS 2015 RC进行非Azure部署

我正在尝试在VS 2015 Enterprise RC上使用ASP.NET 5及其所有新function。 为了确保顺利的端到端部署,我尝试通过VS Publishfunction将应用程序部署到非Azure私有服务器。 但是,我错过了一个非常重要的function:发布到非Azure服务器的能力。 在早期版本的Visual Studio中(我使用的是VS 2013),自定义选项就在那里。 我尝试过修改项目属性,但没有尝试如何将我的ASP.NET 5应用程序部署到自定义服务器。 有任何想法吗?

MVC在视图模型中使用域模型

以下可以做吗? 我知道域模型永远不应该在视图中使用,但是在视图模型中使用域模型是否可以? 对于一些非常小的模型,为它们创建和管理视图模型似乎不值得。 例如 public class LoginDomainModel { public string Email { get; set; } public string Password { get; set; } public string DisplayName { get; set; } public long UserTypeID { get; set; } public virtual UserType UserType { get; set; } } public class UserTypeDomainModel { public UserType() { this.Logins = new […]

ASP.NET MVC Controller.OnException未被调用

我有一个基本控制器类,我将覆盖Controller.OnException处理程序方法,以便为将inheritance此类的某些类型的控制器提供一般error handling(这些控制器将返回JSON结果)。 当控制器引发exception时,永远不会调用OnException方法。 有谁看到我做错了什么,还是有更好的方法来处理这种情况? 使用MVC 1.0 基类: public class APIController : Controller { protected override void OnException(ExceptionContext filterContext) { //This is never called filterContext.Result = new JsonResult(); base.OnException(filterContext); } } inheritance类: public class MyController : APIController { public AjaxResult ForcedException() { throw new SystemException(); } }

当孩子有身份证时,如何使用EF将多个子实体添加到对象?

我们使用EF5和SQL Server 2012以下两个类: public class Question { public Question() { this.Answers = new List(); } public int QuestionId { get; set; } public string Title { get; set; } public virtual ICollection Answers { get; set; } } public class Answer { public int AnswerId { get; set; } public string Text { get; set; […]

每个请求都有AntiForgeryToken更改

我正在使用AntiForgeryToken帮助方法。 根据我对AntiForgeryToken的理解,它是会话库,因此每个用户具有相同的令牌,但另一个用户将拥有不同的令牌(前提是您对所有表单使用相同的盐)。 我的“问题”是AntiForgeryToken为具有相同salt的同一用户生成不同的令牌。 例如 … 位指示 public ActionResult Test() { return View(); } 视图 @using (Html.BeginForm()) { @Html.AntiForgeryToken(“Salty!”) } 输出请求#1 输出请求#2 对于具有相同盐的相同会话,键是不同的。 我对CRSF保护有根本的误解吗? 或者这是一个新function?

实体类型’Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin ‘需要定义一个键

我有一个使用EF7的ASP.NET5 MVC应用程序。 它到目前为止工作得很好,我能够在数据库中添加迁移和持久数据。 现在,在将Identity添加到我的数据层项目后,我在尝试添加新迁移时遇到此错误: 实体类型’Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin’需要定义一个键 我的上下文源自IdentityDbContext: public class ASSWebApiContext : IdentityDbContext AppUser类: using Microsoft.AspNet.Identity.EntityFramework; using System; namespace ASS.DomainDataModel.Models { public class AppUser : IdentityUser { public string AppUserId { get; set; } public DateTime FirstFlight { get; set; } } } project.json { “version”: “1.0.0-*”, “description”: “ASS.DomainDataModel Class Library”, “authors”: [ “xxxx” ], “tags”: [ […]

使用属性注入而不是构造函数注入

长话短说,我正在尝试将ELMAH用于MVC 2和Ninject,我需要使用无参数构造函数。 我在这里创建了一个关于它的初始post: 在Ninject中使用无参数控制器构造函数? 我被建议使用属性注入而不是构造函数注入。 所以我离开了这个: public class DepartmentsController : Controller { private IDepartmentsRepository departmentsRepository; public DepartmentsController(IDepartmentsRepository departmentsRepository) { this.departmentsRepository = departmentsRepository; } … } 对此: public class DepartmentsController : Controller { private IDepartmentsRepository _departmentsRepository; [Inject] public IDepartmentsRepository DepartmentsRepository { get { return _departmentsRepository; } set { _departmentsRepository = value; } } … } 但在我的其他控制器函数中,无论我是否尝试访问DepartmentsRepository或_departmentsRepository,当我尝试访问它时,我得到的对象引用未设置为对象错误的实例 […]

ASP.Net MVC将标签值回发给控制器

当使用EditorTemplate时,如果我希望模型上的值显示在屏幕上,还要发布回控制器,我应该使用什么帮助器? 即。 如果我使用TextBoxFor: @Html.TextBoxFor(model => model.RoomTypeName) …然后用户可以修改文本… 我宁愿只显示文字,但如果我使用: @Html.DisplayTextFor(model => model.RoomTypeName) …然后不会回发给控制器。 因此,我可以显示文本的唯一方法,也是为了确保我的模型状态有效,添加第二个隐藏字段,例如: @Html.DisplayTextFor(model => model.RoomTypeName) @Html.HiddenFor(model => model.RoomTypeName) 我知道这有用,但我想知道是否有更优雅的方式 – 所以我可以显示值,并将其发回,而不需要将其复制为隐藏元素? 谢谢, 标记