Asp.net 如何在不重定向的情况下发布?

Asp.net 如何在不重定向的情况下发布?,asp.net,asp.net-mvc,post,Asp.net,Asp.net Mvc,Post,我想用这样的东西: @using(Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) { <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <

我想用这样的东西:

    @using(Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
    { 
        <label for="file">Filename:</label>
        <input type="file" name="file" id="file" />
        <input type="submit" value="Upload File" />
    }
@使用(Html.BeginForm(“UploadFile”,“Home”,FormMethod.Post,new{enctype=“multipart/formdata”}))
{ 
文件名:
}

但这是单页应用程序的多个步骤之一。我不希望它将用户重定向到与UploadFile操作关联的另一个视图。。。我只想让它提交数据并保持不变。如何防止它重定向?

您需要创建一个REST端点,并使用AJAX发布数据

您可以使用AJAX.BeginForm而不是Html。ajax助手有很多相同的特性,但它通过ajax调用完成所有工作。为此,您需要包含一些不引人注目的java脚本文件

编辑 这是一个样本

下面是代码示例-

@using (Ajax.BeginForm( actionName: "Edit",
                            controllerName: "Home",
                            routeValues: null,
                            ajaxOptions: new AjaxOptions() { HttpMethod = "POST", OnSuccess = "RecordUpdated", OnFailure = "AjaxFailed" },
                            htmlAttributes: new { id = "editForm" }))
{
    <!-- Form Body -->
}
@使用(Ajax.BeginForm)(actionName:“编辑”,
控制器名称:“家”,
RouteValue:null,
ajaxOptions:new ajaxOptions(){HttpMethod=“POST”,OnSuccess=“RecordUpdated”,OnFailure=“AjaxFailed”},
HtmlatAttributes:new{id=“editForm”})
{
}

您还必须在页面底部包含,这样表单将通过javascript连接起来。请注意,该标记用于询问有关模式的问题。询问有关特定于ASP.NET的实现的问题时,请使用标记。@tisont。幸好你能帮我修好,因为我真的不在乎;)我想你没有一个有效的例子吧?我似乎无法使它与Ajax.BeginForm一起工作。