加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_商丘站长网 (https://www.0370zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP表单 Asp

发布时间:2022-10-06 12:38:06 所属栏目:Asp教程 来源:
导读:  FormMethod.Get
  更改为

  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;
 

(编辑:开发网_商丘站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!