Tag: asp.net mvc

动态属性的Asp.Net MVC 3编辑器

我们一直试图让编辑模板与动态属性一起工作 – 无济于事。 也许你们中的一个可以帮助我们。 这大致是我们的课程: public class Criterion { … public string Text { get; set; } public dynamic Value { get; set; } public Type Type { get; set; } … } 我们的剃刀视图获得了一个包含一系列部分的模型,每个部分都包含一个标准列表。 (我们在运行时获得这些信息。)所有这些标准都应该以编辑模式显示 – 关于它们的实际类型:(摘录) @for (int i = 0; i < model.Sections.Count(); i++) { for (int j = 0; j < model.Sections[i].Criteria.Count(); […]

如何在MVC4中将Json字符串输出为JsonResult?

这似乎很简单,我必须过度思考它。 TL; DR; 如何修改下面的代码以返回包含在字符串中的json对象而不是恰好包含json的字符串? public ActionResult Test() { var json_string = “{ success: \”true\” }”; return Json(json_string, JsonRequestBehavior.AllowGet); } 此代码返回包含json的字符串文字: “{ success: “true” }” 但是,我希望它返回字符串中包含的json: { success: “true” } 版本略长 我正在尝试快速原型化一些外部api调用,并且只想通过我的“api”将这些结果作为现在的假响应传递。 json对象是非平凡的 – 大约10,000“行”或90KB。 我不想为这个json响应的所有内容创建一个强类型对象,因此我可以通过反序列化器运行它 – 这样就可以了。 所以我控制器的基本逻辑是: 调用externall api 将Web请求的字符串结果存储到var中(参见上面的json_string) 使用JsonResult生成方法Json()将这些结果输出为json(不是字符串) 非常感谢任何帮助……心灵正在融化。

MVC 4 ViewModel没有被发送回Controller

我似乎无法弄清楚如何将整个ViewModel发送回控制器到’validation和保存’function。 这是我的控制器: [HttpPost] public ActionResult Send(BitcoinTransactionViewModel transaction) { } 以下是视图中的表单: Transaction Id @Html.DisplayFor(m => m.Transaction.TransactionId) Deposited Amount @Model.Transaction.Amount.ToString() BTC Time @Model.Transaction.Time.ToString() @using (Html.BeginForm(“Send”, “DepositDetails”, FormMethod.Post, new { transaction = Model })) { @Html.HiddenFor(m => m.Token); @Html.HiddenFor(m => m.Transaction.TransactionId); @Html.TextBoxFor(m => m.WalletAddress, new { placeholder = “Wallet Address”, maxlength = “34” }) @Html.ValidationMessage(“walletAddress”, new { @class […]

堆栈跟踪如何指向错误的行(“返回”语句) – 40行关闭

我有两次现在看到从Production ASP.NET MVC 4 Web应用程序记录的NullReferenceException – 并且登录错误的行。 没有错误的一两行(就像你得到的PDB不匹配),但错误的是整个控制器动作的长度。 例: public ActionResult Index() { var someObject = GetObjectFromService(); if (someObject.SomeProperty == “X”) { // NullReferenceException here if someObject == null // do something } // about 40 more lines of code return View(); // Stack trace shows NullReferenceException here } 对于同一控制器上的操作,这发生了两次。 第二个案例已登录 // someObject is known […]

获得Request.Headers值

非常简单我敢肯定,但是把我拉到墙上! 我在我的Web应用程序中使用了一个组件,通过添加标题“XYZComponent = true”在Web请求中标识自己 – 我遇到的问题是,您如何在视图中检查此问题? 以下不会工作: if (Request.Headers[“XYZComponent”].Count() > 0) 这不是: if (Request.Headers.AllKeys.Where(k => k == “XYZComponent”).Count() > 0) 如果尚未设置标头变量,则两者都抛出exception。 非常感激任何的帮助。

ASP.MVC HandleError属性不起作用

我知道这是一个常见问题,但我已经抓住了许多讨论而没有结果。 我正在尝试使用HandleError ASP.MVC attrbiute来处理错误。 我正在使用MVC 4。 我的错误页面位于Views / Shared / Error.cshtml中,看起来像这样: Test error page Error. An error occurred while processing your request. App-Start文件夹中的My FilterConfig.cs是: public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); } } 我的控制器: public class TestController : Controller { [HandleError(View = “Error”)] public ActionResult Index() { throw new Exception(“oops”); […]

Firebase 3:使用.net和c#创建自定义身份validation令牌

我正在尝试使用自定义令牌实施Firebase 3身份validation机制(如https:// firebase.google.com/docs/auth/server/create-custom-tokens中所述)。 我的服务器是ASP.NET MVC Application。 因此,根据说明( https://firebase.google.com/docs/server/setup ),我为Firebase应用程序创建了一个服务帐户,并以“.p12”格式生成了一个密钥。 之后根据此处的说明( https://firebase.google.com/docs/auth/server/create-custom-tokens#create_custom_tokens_using_a_third-party_jwt_library )我尝试生成自定义令牌并使用之前收到的密钥对其进行签名步。 对于令牌生成,我使用了Microsoft的SystemIdentityModel.Tokens.Jwt库,因此代码如下所示: var now = DateTime.UtcNow; var tokenHandler = new JwtSecurityTokenHandler(); var key = new X509AsymmetricSecurityKey(new X509Certificate2(p12path, p12pwd)); var signinCredentials = new SigningCredentials(key, “http://www.w3.org/2001/04/xmldsig-more#rsa-sha256”, “http://www.w3.org/2001/04/xmlenc#rsa-sha256”); Int32 nowInUnixTimestamp = (Int32)(now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; var token = tokenHandler.CreateToken( issuer: serviceAccountEmail, audience: “https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit”, signingCredentials: signinCredentials, subject: new […]

我们可以使用代码优先迁移来运行SQL脚本吗?

我们可以使用代码优先迁移来运行sql脚本吗? 我是新手代码,如果我想在update-database命令迁移之前将我的更改保存到SQL脚本文件,是否可能? 如果可能,请提供完成工作的步骤。 此外,如果生成脚本,那么我是否可以使用迁移运行该脚本?

基于用户权限的自定义身份validation和授权

目前我正在开发一个带有MS Sql server数据库的ASP.Net MVC 5应用程序。 我需要实现基于ASP.Net identity 2.0的身份validation和授权。 我刚刚介绍了Identity的基本概念,并尝试在我的应用程序中实现相同的function。 由于数据库已经定义,我需要稍微自定义Identity。 当我查看数据库时,表格与我通常在样本身份项目中发现的有点不同。 从图像中可以看到,有一个名为user group的表,并根据模块定义了一组权限。 默认情况下,用户可以访问相同的权限。 如果要更改任何权限,可以通过在“用户权限”表中设置权限来覆盖它。 所以我的第一个问题是ASP。 具有自定义授权和授权的网络身份是实现这样的场景的正确方法吗? 从视角来看,我必须基于用户/用户组权限生成菜单,并且还希望基于它们启用/禁用按钮。 我能够根据数据库值生成菜单。 但我需要授权每个客户端请求,因此我认为AuthorizeAttribute是最佳选择。 请指教? 任何好的设计模式或post都很受欢迎。

如何使用ASP.NET MVC通用控制器来填充正确的模型

我问了一个关于ASP.NET MVC Generic Controller的问题, 这个答案显示了一个像这样的控制器: public abstract class GenericController where T : class { public virtual ActionResult Details(int id) { var model = _repository.Set().Find(id); return View(model); } } 哪个可以像这样实现。 public class FooController : GenericController { } 现在当有人请求/ Foo / Details / 42时,权限从_repository的Set()提取,而不必在FooController中为其写入任何FooController 。 他解释的方式很好,但我认为我想为产品和客户开发一个通用控制器,我不会使用EF来加载产品和客户模型,而是使用MS数据访问应用程序块。 public abstract class GenericController where T : class { public virtual […]