Articles of asp.net mvc

尽管提交按钮,Html.BeginForm仍未发布到服务器

我有一个标准的表单,它被包装成一个Html.BeginForm。 在底部有一个提交按钮。 但是,当点击按钮时,我的控制器没有被击中。 我遇到了页面的重新加载,但没有遇到任何代码。 我试图在控制器端进行调试并尝试我能看到的代码被击中,但它的定义并没有被击中。 Razor – /Views/BuyBitcoins/Index.cshtml下的Index.cshtml: @using (Html.BeginForm(“BuyBitcoinsNow”, “BuyBitcoins”,FormMethod.Post)) { @ModelRes.BuyBitcoinStrings.Form_YourPurchase @ModelRes.BuyBitcoinStrings.Form_HowMuch @Html.EditorFor(model => model.PurchaseViewModel.PurchaseAmount) @ModelRes.BuyBitcoinStrings.Form_EnterAddress @Html.EditorFor(model => model.PurchaseViewModel.BitcoinAddress) @ModelRes.BuyBitcoinStrings.Form_Summary @ModelRes.BuyBitcoinStrings.Form_Personal_Headline @ModelRes.BuyBitcoinStrings.Form_Name: @Html.EditorFor(model => model.Name) @ModelRes.BuyBitcoinStrings.Form_Email: @Html.EditorFor(model => model.Email) @ModelRes.BuyBitcoinStrings.Form_Phone @Html.EditorFor(model => model.Phone) @ModelRes.BuyBitcoinStrings.Form_accept @ModelRes.BuyBitcoinStrings.Form_newsletter @ModelRes.BuyBitcoinStrings.Form_usp1 @ModelRes.BuyBitcoinStrings.Form_usp2 @ModelRes.BuyBitcoinStrings.Form_usp3 } RouteConfig.cs: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapRoute( name: “Order info”, url: “orders/{id}”, […]

如何在c#,ASP .NET中修改请求标头

我正在开发一个ASP .NET mVC项目,我必须更改HttpHeaders。 看到foolowing代码片段: WebRequest req= HttpWebRequest.Create(“myURL”); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); req.Headers.Add(“User-Agent”, “Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)”); req.Headers.Add(“Accept”, “text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8”); req.Headers.Add(“Accept-Language”, “en-us,en;q=0.5”); 这给了一个例外,即 必须使用适当的属性修改此标头。\ r \ nParameter name:name。 任何人都建议解决它

asp.net mvc api return’此XML文件似乎没有与之关联的任何样式信息。 文档树如下所示。

我使用entity framework制作了一个简单的net mvc web api,当我进行api调用时,我在chrome中遇到这个错误: 此XML文件似乎没有与之关联的任何样式信息。 文档树如下所示。 在IE中没有出现这个错误,而是api的结果导致json文件的下载…我想要设置响应,例如结果将出现在浏览器中,而不是作为下载, 我该怎么做呢?

使用MVC模型显示只读文本

我有一个MVC模型,其属性定义为: [DisplayName(“Service Version”)] public string ServiceVersion { get; set; } 在屏幕上,我希望它显示为: 服务版本: 0.1 ‘ServiceVersion’具有版本号。 在视图中,我有: @model Main_UI.Models.HomeModel 然后: @Html.LabelFor(m=>m.ServiceVersion) @Html.DisplayText(Model.ServiceVersion) 这是不正确的,因为我没有为值部分显示任何内容。 出现标签,但没有版本号。 我究竟做错了什么? 编辑:更改 @ Html.DisplayText(Model.ServiceVersion) ,只是 @ Model.ServiceVersion 修好了。 这是正确的方法吗?

ASP.Net MVC5和StructureMap4 – 简化方法

在将StructureMap.MVC5集成到ASP.Net MVC5 Web应用程序时,意识到它使用3.1版本的SM而不是4+。 然后尝试获取此Nuget中包含的文件并将其更改为SM4,但是有很多代码存在,并且SM3.1和SM4之间存在多个不兼容的调用。 有了这个,我最终编写了一个简单的IoC,如下所示。 寻找有关其不足之处的建议以及与此处链接的Nuget版本相比效率低下的问题。 定义默认注册表 public class DefaultRegistry : Registry { public DefaultRegistry() { Scan( scan => { scan.Assembly(“MyAssembly”); scan.WithDefaultConventions(); }); For<IContext>().Use(); } } 创建一个静态容器 public static class IoC { private static IContainer container = new Container(c => c.AddRegistry()); public static IContainer Container { get { return container; } } } 覆盖控制器工厂 public […]

使用entity framework而不使用语句的缺点?

有很多像这样的代码块: public class SomeController : Controller { DbEntities entity = new DbEntities(); public ActionResult Add() { entity.someOperations… return View(); } public ActionResult Edit() { entity.someOperations… return View(); } public ActionResult Detail() { entity.someOperations… return View(); } public ActionResult Detail() { entity.someOperations… return View(); } ….. 我应该改变这样的方法吗?: public class SomeController : Controller { public ActionResult Add() […]

ASP.NET MVC GetFullHtmlFieldId没有返回有效的id

我已经看过了,但它并没有帮助我 GetFullHtmlFieldId返回不正确的id属性值 ASP.NET GetFullHtmlFieldId没有返回有效的id 问题 基本上我有以下问题: 我有一个自定义validation属性,需要获取控件的fieldId public class MyValidationAttribute : ValidationAttribute, IClientValidatable { //…… Collapsed code public IEnumerable GetClientValidationRules(ModelMetadata metadata, ControllerContext context) { ViewContext vwContext = context as ViewContext; var fieldId = vwContext.ViewData.TemplateInfo.GetFullHtmlFieldId(metadata.PropertyName); //…… Collapsed code yield return clientValidationRule; } //…… Collapsed code } GetFullHtmlFieldId的结果取决于我如何构建我的asp.net mvc页面: // Edit.cshtml or Create.cshtml @Html.EditorFor(model => model.MyBoolProperty) // […]

多语言网站:Azure部署的行为与localhost不同

编辑:完整的代码可以在github存储库中找到。 我已经在这篇文章 (1)和多语言网站的MVC4代码 (2)之后构建了一个ASP.NET MVC5多语言应用程序。 在(2)它使用“技巧”来解决“我希望在语言Y中呈现完整的X.cshtml”问题:它添加了一个后缀ViewName.fr.cshtml,以便视图自动重定向到正确的语言。 这是代码,我认为这是与我的问题相关的代码的唯一部分: public class LocalizedViewEngine : RazorViewEngine { public override ViewEngineResult FindPartialView (ControllerContext controllerContext, string partialViewName, bool useCache) { List searched = new List(); if (!string.IsNullOrEmpty(partialViewName)) { ViewEngineResult result; result = base.FindPartialView(controllerContext, string.Format(“{0}.{1}”, partialViewName, CultureInfo.CurrentUICulture.Name), useCache); if (result.View != null) { return result; } searched.AddRange(result.SearchedLocations); result = base.FindPartialView(controllerContext, string.Format(“{0}.{1}”, partialViewName, […]

当MV值无效时,.NET MVC客户端validation不显示属性消息

我已经阅读了很多关于这个主题的post,但我仍然在与我的问题作斗争。 我有一个具有14个属性和5个复杂类型的表单,其中包含自定义模板编辑器。 客户端validation适用于所有属性和自定义模板编辑器,但下面的属性。 如果我输入文本,它将删除文本框的全部内容而不显示任何消息。 但是,如果我输入2.,我收到错误消息,说它必须是一个数字。 有没有人经历过这种行为? 这也发生在我的其他一些forms上。 作为旁注:客户端是否应该validation可空的int范围? 似乎它没有,除非我添加范围validation器。 谢谢。 更新这实际上发生在我的所有int? 性能 模型 [Display(Name = “Lifetime”)] public int? Life { get; set; } 视图 @using (Html.BeginForm(“EditPerson”, “Maintenance”, FormMethod.Post, new { @class = “operation-form” })) { @Html.AntiForgeryToken() @Html.HiddenFor(model => model.PersonId) @Html.Hidden(“ModifiedBy”, User.Identity.Name) @Html.ValidationSummary(false, “”, new { @class = “text-danger” }) @Html.LabelFor(model => model.Life) @Html.EditorFor(model => model.Life, […]

如何查询实现接口的所有表

我为我的一些实体类实现了一个接口: public partial class Order : IReportable { public string TableName { get { return “Order”; } } } public partial class Client: IReportable { public string TableName { get { return “Client”; } } } public interface IReportable { string TableName { get; } } 然后我把它添加到DbContext: public virtual DbSet IReportable { get; set; } […]