如何在razor中使用ajax不重新加载弹出窗口

如何在razor中使用ajax不重新加载弹出窗口,ajax,asp.net-mvc,razor,popup,Ajax,Asp.net Mvc,Razor,Popup,我正在使用一个带有razor的弹出式表单,它必须向控制器发送数据并从控制器接收回响应。实际上,我正在使用一个简单的表单,但问题是当我通过单击按钮提交数据时,弹出窗口消失,我必须重新打开弹出窗口以获取控制器发送的数据。所以我想使用Ajax,以避免重新加载弹出窗口 Ajax的代码可以是这样的,但是这个不起作用 @using (Ajax.BeginForm("Index", "Home", new AjaxOptions() { UpdateTargetId = "popupConvertTxt" }

我正在使用一个带有razor的弹出式表单,它必须向控制器发送数据并从控制器接收回响应。实际上,我正在使用一个简单的表单,但问题是当我通过单击按钮提交数据时,弹出窗口消失,我必须重新打开弹出窗口以获取控制器发送的数据。所以我想使用Ajax,以避免重新加载弹出窗口 Ajax的代码可以是这样的,但是这个不起作用

@using (Ajax.BeginForm("Index", "Home", new AjaxOptions() { UpdateTargetId = "popupConvertTxt" })) 
实际表单的代码为

@using (Html.BeginForm("Index", "Home", FormMethod.Post)) 
     {
        <img width="60" height="60" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAY............" />
        <input type="hidden" name="imageFile" value="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAY.........."/>
        @Html.TextArea("resultText")
        <input type="submit" style="margin-left:40px;cursor:pointer;" id="l" value="Envoyer"/>
    }
@使用(Html.BeginForm(“Index”,“Home”,FormMethod.Post))
{
@Html.TextArea(“resultText”)
}

您必须包括以下js库

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

查看示例

<div id="result"></div>

@using (Ajax.BeginForm("Index", "Home", new AjaxOptions { UpdateTargetId = "result" }))
{
    @Html.TextArea("resultText")
    <input type="submit" value="OK" />
}

@使用(Ajax.BeginForm(“Index”,“Home”,新的AjaxOptions{UpdateTargetId=“result”}))
{
@Html.TextArea(“resultText”)
}

是否包含必需的js库?是的,如果您正在谈论此库:@Scripts.Render(“~/bundles/jqueryval”)谢谢您的回答,我想提到的是,表单代码包含在包含我想要获得的弹出窗口的div中。那么,我该如何渲染它呢?我要渲染的弹出窗口不在部分视图中。你只是想避免在弹出窗口的按钮单击时完全发帖,对吗?无论弹出内容在哪里,只要将它们放在Ajax.BeginForm()中即可。