asp.net-mvc-3 – .NET MVC 3提交按钮做了不同的事情
发布时间:2020-12-16 03:21:37 所属栏目:asp.Net 来源:网络整理
导读:有人可以向我解释为什么这不起作用?我在一个页面上阅读了很多关于多个提交按钮的帖子,但我不明白后台发生了什么.我试图按照我看到其他人在这些帖子中所做的事情,但似乎都没有.我只想了解这里到底发生了什么.我怀疑这与发布页面时到底发生了什么有关. 两个按
有人可以向我解释为什么这不起作用?我在一个页面上阅读了很多关于多个提交按钮的帖子,但我不明白后台发生了什么.我试图按照我看到其他人在这些帖子中所做的事情,但似乎都没有.我只想了解这里到底发生了什么.我怀疑这与发布页面时到底发生了什么有关.
两个按钮完全不同.第一个按钮发布表单.在表单的邮政编码中,然后将其重定向到Vehicle / Index.第二个按钮不发布表单,直接转到/ Vehicle / CreateNewVehiclePart. 这就是我想要的.我希望两个按钮都能提交表单(因此我可以在继续之前执行验证并将更改保存到Vehicle).保存车辆数据后,我想根据单击的按钮移动到/ Vehicle / AddPartsToVehicle或/ Vehicle / CreateNewVehiclePart. <table class="layouttable"> <tr> <td> @using (Html.BeginForm("AddPartsToVehicle","Vehicle",FormMethod.Post,null)) { <input type="submit" value="Add Parts To Vehicle" /> } </td> <td> @using (Html.BeginForm("CreateNewVehiclePart",null)) { <input type="submit" value="Create New Vehicle Part" /> } </td> </tr> </table> 这是车型: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.Globalization; namespace ShopLog.Models { public class Vehicle { [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid VehicleID { get; set; } [Timestamp] public Byte[] Timestamp { get; set; } [Required] [Display(Name = "Vehicle Name")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string VehicleName { get; set; } [Display(Name = "Assigned To")] [MaxLength(30,ErrorMessage= "The {0} must be no more than {2} characters long.")] public string AssignedTo { get; set; } [Display(Name = "ID Number")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string IDNumber { get; set; } [Display(Name = "Active")] public bool Active { get; set; } [Display(Name = "Sign Out Vehicle")] public bool SignOutVehicle { get; set; } [Display(Name = "Have Title")] public bool HaveTitle { get; set; } [Display(Name = "Mileage or Hours")] public int? MileageOrHours { get; set; } [Display(Name = "Make")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string Make { get; set; } [Display(Name = "Model")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string Model { get; set; } [Display(Name = "Year")] public int? Year { get; set; } [Display(Name = "Engine")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string Engine { get; set; } [Display(Name = "Transmission Gears")] public int? TransmissionGears { get; set; } [Display(Name = "VIN")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string VIN { get; set; } [Display(Name = "Serial Number")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string SerialNumber { get; set; } [Display(Name = "Color")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string Color { get; set; } [Display(Name = "Air Filter")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string AirFilter { get; set; } [Display(Name = "Engine Oil Filter")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string EngineOilFilter { get; set; } [Display(Name = "Fuel Filter")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string FuelFilter { get; set; } [Display(Name = "Transmission Oil Filter")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string TransmissionOilFilter { get; set; } [Display(Name = "HydraulicOilFilter")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string HydraulicOilFilter { get; set; } [Display(Name = "Interior A/C Filter")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string InteriorACFilter { get; set; } [Display(Name = "Differential Oil")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string DifferentialOil { get; set; } [Display(Name = "Transmission Oil")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string TransmissionOil { get; set; } [Display(Name = "Engine Oil")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string EngineOil { get; set; } [Display(Name = "Tire Size")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string TireSize { get; set; } [Display(Name = "Tire Pressure")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string TirePressure { get; set; } [Display(Name = "Smog Due Date")] [DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:d}")] public DateTime? SmogDue { get; set; } [Display(Name = "Registration Due Date")] [DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:d}")] public DateTime? RegistrationDue { get; set; } [Display(Name = "Insurance Due Date")] [DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:d}")] public DateTime? InsuranceDue { get; set; } [Display(Name = "License Plate")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string LicensePlate { get; set; } [Display(Name = "Owner")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string Owner { get; set; } [Display(Name = "Previous Owner")] [MaxLength(30,ErrorMessage = "The {0} must be no more than {2} characters long.")] public string PreviousOwner { get; set; } [Display(Name = "Date Acquired")] [DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:d}")] public DateTime? DateAcquired { get; set; } [Display(Name = "Notes")] [DataType(DataType.MultilineText)] public string Notes { get; set; } [Required(ErrorMessage="Vehicle Type is required.")] public Guid VehicleTypeID { get; set; } public Guid? TransmissionTypeID { get; set; } //A vehicle can only have one VehicleType and one TransmissionType [Display(Name = "Vehicle Type")] public virtual VehicleType VehicleType { get; set; } [Display(Name = "Transmission Type")] public virtual TransmissionType TransmissionType { get; set; } //A vehicle can have many Parts [Display(Name = "Parts")] public virtual ICollection<Part> Parts { get; set; } //A vehicle can have many Warranties [Display(Name = "Warranties")] public virtual ICollection<Warranty> Warranties {get; set; } } } 这是Part模型: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.Globalization; namespace ShopLog.Models { public class Part { [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid PartID { get; set; } public string Name { get; set; } public decimal Cost { get; set; } [DataType(DataType.MultilineText)] public string Notes { get; set; } //A Part can belong to many Vehicles public virtual ICollection<Vehicle> Vehicles { get; set; } } } 解决方法
我在一个简单的项目中试过这个
@model MvcApplication2.Models.LogOnModel @{ ViewBag.Title = "Home Page"; } @using (Html.BeginForm("About","Home",null)) { <input type="submit" name="btn2" value="About" /> @Html.TextAreaFor(m => m.UserName) } @using (Html.BeginForm("Index",null)) { <input type="submit" name="btn1" value="Index" /> @Html.TextAreaFor(m => m.UserName) } public class HomeController : Controller { [HttpPost] public ActionResult Index(LogOnModel a) { ViewBag.Message = "Welcome to ASP.NET MVC!"; return View(); } [HttpGet] public ActionResult Index() { return View(); } [HttpPost] public ActionResult About(LogOnModel a) { return View(); } } 据我所知,这开箱即用.我会检查你的路线…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何测试开发机器上的子域? abc.localhost
- asp.net-mvc-3 – 可用会员入门套件/成员资料用于ASP.NET M
- asp.net-mvc – MVC3中的Url.RouteUrl()和Url.Action()之间
- asp.net – 将网站部署到azure和传统的IIS
- asp.net-mvc – Gzip压缩无法运行ASP.net MVC5
- asp.net – Web事件提供程序’EventLogProvider’抛出以下异
- asp.net-mvc – 用于为基于Razor的View编写单元测试的指针
- asp.net-identity – 如何本地化ASP.NET身份用户名和密码错
- ASP.NET Web API控制器专用串行器
- asp.net-web-api – ASP.NET Web API:如何在Web API控制器