ASP表单 Asp
发布时间:2022-10-06 12:38:06 所属栏目:Asp教程 来源:
导读: FormMethod.Get
更改为
FormMethod.Post
来实现
除此之外,您可能还需要考虑Get和Post请求如何工作ASP表单,以及它们如何与模型交互。
如果有疑问,请遵循MVC约定
更改为
FormMethod.Post
来实现
除此之外,您可能还需要考虑Get和Post请求如何工作ASP表单,以及它们如何与模型交互。
如果有疑问,请遵循MVC约定
FormMethod.Get 更改为 FormMethod.Post 来实现 除此之外,您可能还需要考虑Get和Post请求如何工作ASP表单,以及它们如何与模型交互。 如果有疑问,请遵循MVC约定 如果尚未创建包含JobID属性的viewModel,请创建该viewModel public class Model { public string JobId {get; set;} public IEnumerable myCurrentModel { get; set; } //...any other properties you may need } 将JobId的隐藏字段添加到表单中 using (@Html.BeginForm("myMethod", "Home", FormMethod.Post)) { //... @Html.HiddenFor(m => m.JobId) } 并接受模型作为控制器操作中的参数: [HttpPost] public FileStreamResult myMethod(Model model) { sting str = model.JobId; } 这里的问题是模型绑定如果您指定了一个类,那么模型绑定可以在post期间理解它如果它是一个整数或字符串,那么您必须指定[FromBody]来正确绑定它 在FormMethod中进行以下更改 using (@Html.BeginForm("myMethod", "Home", FormMethod.Post, new { id = @item.JobId })){ } 在绑定字符串的主控制器中,您应该指定[FromBody] using System.Web.Http; [HttpPost] public FileStreamResult myMethod([FromBody]string id) { // Set a local variable with the incoming data string str = id; } FromBody在System.Web.Http中提供。确保您有对该类的引用,并将其添加到cs文件中。 您正在表单声明中指定GET,但希望它调用您的POST方法?我也尝试省略HttpPost,但我的变量str和id始终为null。我尝试将formmethod更改为post,但没有区别。您的视图是强类型的吗?我返回的不是视图,而是FileStreamResult。因此,我没有在controllerBut中向myMethod添加视图的选项,但是您仍然可以使用mvc的内置约定和模型绑定强式键入包含表单的视图并传递数据。这不会影响您返回fileStreamResult@jpo作为对编辑的回应:您从POST方法返回的内容对模型绑定绝对没有影响。如果您的模型是IEnumerable,只需将其添加到视图模型(请参见编辑)。如果你遵循我在这里概述的模式,你应该不会有任何问题。我会试试的。假设JobId是myCurrentModel的一个元素,如何初始化字符串str?我尝试了sting str=model.single().JobId,但出现错误“序列包含多个元素”,请使用 First() 或 FirstOrDefault() 或指定 single() 的条件,确保您有对System.Web.Http的引用; using System.Web.Http; [HttpPost] public FileStreamResult myMethod([FromBody]string id) { // Set a local variable with the incoming data string str = id; (编辑:开发网_商丘站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐