代码之家  ›  专栏  ›  技术社区  ›  Rilcon42

表单未将POST数据传递给控制器

  •  0
  • Rilcon42  · 技术社区  · 6 年前

    我正在传入一个文件的引用和一个字符串值 cardid . 因为某种原因当我返回结果时 <h3> 标头包含我期望的字符串。我做错什么了?

    HTML视图

    <h3>@Model.CV.Id</h3>
    
    @using (Html.BeginForm("UploadFile", "Tickets", FormMethod.Post, new { cardid=@Model.CV.Id, enctype = "multipart/form-data"}))
    {
        <input type="file" name="file" />
        <input type="submit" value="Upload Attachment" />
    }
    

    public async Task<IActionResult> UploadFile(string cardid,IFormFile file)
    {
        ......
        string res="yay";
        return Ok(new {cardid=cardid,res=res });
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Dan Wilson    6 年前

    你应该包括 cardid <form> ,它什么也不做。

    <h3>@Model.CV.Id</h3>
    
    @using (Html.BeginForm("UploadFile", "Tickets", FormMethod.Post, new { enctype = "multipart/form-data"}))
    {
        <input type="hidden" name="cardid" value="@(Model.CV.Id)" />
        <input type="file" name="file" />
        <input type="submit" value="Upload Attachment" />
    }
    

    您还可以在操作中包含“cardid”:

    Html.BeginForm("UploadFile?cardid=" + Model.CV.Id, "Tickets", FormMethod.Post...)