我无法检索 Controller 中的值,它返回 null。请帮我找出我做错了什么。

下面是我的代码

索引.aspx

<form id="form1" method="post" action="/Sample/Index" enctype="multipart/form-data">
<div>
    <input  type="text" id="PcId" value=<%=Model.PcId %> /></div>
    <input type="file" value="Browse" id="file"/>
    <input type="submit" id="submit" value="Save"/></div>
</form>

在我的 Controller 中
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
    string PcId = Request.Form["PcId"];
    List<string> fileConfigData = new List<string>();

    if (file != null && file.ContentLength > 0)
    {
        string FolderPath = mPath.GetFolderPath();
        var fileName = Path.GetFileName(file.FileName);
        string filePath = Server.MapPath(FolderPath + PcId) + "\\" + fileName;
        file.SaveAs(filePath);
    }
    return view();
}

最佳答案

尝试将名称添加到您的输入字段:

<input  type="text" id="PcId" name="PcId" value=<%=Model.PcId %>

根据 W3C 规范,每个表单输入元素都应该指定一个 name 属性。否则将不会处理该元素。

http://www.w3.org/TR/html401/interact/forms.html#successful-controls

关于c# - 请求 .Form 返回 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27165014/

10-17 02:34