c# – 从部分视图单击按钮可重定向到父操作方法

前端之家收集整理的这篇文章主要介绍了c# – 从部分视图单击按钮可重定向到父操作方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序中有一个View’Parent’,我使用的是@ Html.BeginForm&用于保存父视图数据的提交按钮.我在Parent视图中也有一个局部视图,我试图从局部视图调用ajax方法(使用jQuery),但每次它将我重定向到父窗体的动作方法.
Parent View
@using (Html.BeginForm("Test1","Home",new { id = 1 },FormMethod.Get))
{
    @Html.Partial("TestPartial",Model)
    <div>
        <input id="Button1" type="submit" value="Parent" />
    </div>
}

Partial View
<script>
function onClientClick() {
    $.ajax({
        url: "/Home/Test2",type: "GET",dataType: "json",contentType: 'application/json; charset=utf-8',data: JSON.stringify({ ID: 1 }),cache: false,success: function (data) {
            alert('Success');
        },error: function (err,result) {
            alert("Error" + err.responseText);
        }
    });
}
</script>
<div>
<input type="submit" name="submit" onclick="onClientClick()" value="Submit" />
</div>

每次我尝试从Partial视图调用/ Home / Test2时,它会将我重定向到/ Home / Test1(父窗体的动作)

解决方法

问题出在这一行:
<input type="submit" name="submit" onclick="onClientClick()" value="Submit" />

类型是提交,因此它提交表单并将您重定向到父级中的Action.

在您的局部视图中有一个常规按钮而不是一个提交按钮来请求AJAX内容

<input type="button" onclick="onClientClick()" value="Ajax Call" />

你也可以返回false,但我相信使用标准按钮而不是提交更适合这种情况.

原文链接:https://www.f2er.com/csharp/244537.html

猜你在找的C#相关文章