我正在传递对文件的引用和字符串值cardid
。由于某些原因,当我返回结果时,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 });
}
答案 0 :(得分:1)
您应在表单中加入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" />
}
您还可以在操作中加入“心脏”:
Html.BeginForm("UploadFile?cardid=" + Model.CV.Id, "Tickets", FormMethod.Post...)