Click here to Skip to main content
16,022,924 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
I have a View 'Parent' in my application , I am using @Html.BeginForm & a submit button to save data of Parent view . I also have one partial view inside Parent view , I am trying to call ajax method(using jQuery) from partial view but each time it redirects me to action method of parent form.
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>


Thanks.
Posted
Updated 26-Mar-13 1:32am
v2

1 solution

Is there any reason to have two submit buttons as well as two different calls, one through form, one through ajax.

1. Get rid of the ajax

JavaScript
@using (Html.BeginForm("Test1", "Home", new { id = 1 }, FormMethod.Get))
    {
        @Html.Partial("TestPartial", Model)
        <div>
            <input id="Button1" type="button" value="Parent" />
        </div>
    }

partial
<div>
<input type="submit" name="submit" onclick="onClientClick()" value="Submit" />
</div>


2. Get rid of form action
JavaScript
@using (Html.BeginForm(null, null, new { id = 1 }, FormMethod.Get))
    {
        @Html.Partial("TestPartial", Model)
        <div>
            <input id="Button1" type="submit" value="Parent" />
        </div>
    }

partial the same
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900