猿问

如何在Razor中编写“ Html.BeginForm”

如果我这样写:


表单action =“ Images” method =“ post” enctype =“ multipart / form-data”


有用。


但是在带有“ @”的Razor中,它不起作用。我有没有犯错?


@using (Html.BeginForm("Upload", "Upload", FormMethod.Post, 

                             new { enctype = "multipart/form-data" }))

{

    @Html.ValidationSummary(true)


    <fieldset>


        Select a file <input type="file" name="file" />

        <input type="submit" value="Upload" />


    </fieldset>

}

我的控制器如下所示:


[AcceptVerbs(HttpVerbs.Post)]

public ActionResult Upload() 

{

    foreach (string file in Request.Files)

    {

        var uploadedFile = Request.Files[file];

        uploadedFile.SaveAs(Server.MapPath("~/content/pics") + 

                                      Path.GetFileName(uploadedFile.FileName));

    }


    return RedirectToAction ("Upload");

}


慕姐4208626
浏览 519回答 2
2回答

梵蒂冈之花

何时收到此错误消息?什么时候要呈现上载表单或何时提交表单?在第一种情况下,请确保您具有“&nbsp;GET上传”操作,该操作将投放Upload.cshtml包含以下代码的视图:public ActionResult Upload() { return View(); }。因此,请确保您有一个名为的控制器,UploadController其中包含两个上载操作:一个用于提供表单,另一个用于处理提交。
随时随地看视频慕课网APP
我要回答