Javascript ajax调用,但屏幕仍然向上

Javascript ajax调用,但屏幕仍然向上,javascript,c#,asp.net-mvc-4,asp.net-ajax,Javascript,C#,Asp.net Mvc 4,Asp.net Ajax,我有这个: <div class="pull-left"> <div class="col-md-offset-0"> <input type="button" value="Save" class="btn btn-default pull-left" /> </div> </div> </div> <div

我有这个:

<div class="pull-left">
            <div class="col-md-offset-0">
                <input type="button" value="Save" class="btn btn-default pull-left" />

            </div>
        </div>
    </div>
<div id="tabs-2">
        @using (Ajax.BeginForm("EditPhotos", "Account",
        new AjaxOptions()
        {
            InsertionMode = InsertionMode.Replace,
            HttpMethod = "Post",
        },
            new { enctype = "multipart/form-data"}





        ))

             //new { enctype = "multipart/form-data" }))
        {
            @Html.AntiForgeryToken()

            <div class="form-horizontal">
                <h4>Photos</h4>
                <hr />
视图:

OK,我可以保存照片,当我保存照片时,当前选项卡将保留选定选项卡。但保存后,屏幕会上升。因此,这似乎是一个完整的职位回来,而不是一个部分职位回来。因为在保存之前,我看到了三个选项卡。但在我保存后,标签会弹出。但是我做了一个ajax调用。那怎么可能呢

多谢各位

好吧,我现在有了这样的:

@section Scripts
{
    <link href="@Url.Content("~/Content/themes/base/jquery-ui.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.11.0.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui-1.10.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
    <script>
        $(document).ready(function () {

                $("#tabs").tabs();
                $(document).on("click", ".btn", function () {
                $("#tabs").tabs("select", window.location.hash);

                //var param = $(document).getUrlParam('selectedTab');
                //$('#tabs').tabs('select', param);
            });
        });
    </script>
}
 $(document).on("click", ".btn", function () {

                $("#tabs").tabs();

                $("#tabs").tabs("select", window.location.hash);

                //var param = $(document).getUrlParam('selectedTab');
                //$('#tabs').tabs('select', param);
            });
 $(document).ready(function () {

            $.ajax({
                url: resolveUrl("/Account/EditPhotos/"),
                type: "POST",
                processData: false,
                contentType: false,
                data: data,
                success: function (response) {
                    //code after success

                },
                error: function (er) {
                    alert(er);
                }

            });


        });
我再也看不到标签了

我有这个:

<div class="pull-left">
            <div class="col-md-offset-0">
                <input type="button" value="Save" class="btn btn-default pull-left" />

            </div>
        </div>
    </div>
<div id="tabs-2">
        @using (Ajax.BeginForm("EditPhotos", "Account",
        new AjaxOptions()
        {
            InsertionMode = InsertionMode.Replace,
            HttpMethod = "Post",
        },
            new { enctype = "multipart/form-data"}





        ))

             //new { enctype = "multipart/form-data" }))
        {
            @Html.AntiForgeryToken()

            <div class="form-horizontal">
                <h4>Photos</h4>
                <hr />
但这一页仍在上升

如果我这样做:

$(document).on("click", ".btn", function(){

        $("#ajaxUploadForm").ajaxForm({
            iframe: true,
            type: 'POST',
            dataType: "json",
            cache: false,
            timeout: 1200000,
            async: false,
            beforeSubmit: function () {
                //Do something here if needed like show in progress message
            },
            //success: function (result) {
            //    alert("sucess"
            //    },
            error: function (xhr, textStatus, errorThrown) {
                alert("Error uploading file");
            }
        });
        });
与:


然后什么也没发生,

我没有看到您的ajax代码发布,但是您的按钮是一个提交按钮,而不仅仅是一个按钮。你需要把它改成

<input type="button" value="Save" class="btn btn-default pull-left" />

您是如何通过表单执行ajax调用的,表单需要回发,因此页面会向上移动。要在不回发的情况下执行ajax调用,请参见这里,您的document.ready中有ajax调用。您需要将ajax调用放入一个click事件中,如下面我的回答中所示,该事件将触发按钮单击。
 <div class="pull-left">
                    <div class="col-md-offset-0">
                        <input type="button" value="Save" class="btn btn-default pull-left" />

                    </div>
                </div>
<input type="button" value="Save" class="btn btn-default pull-left" />
$(document).on("click", ".btn", function(){
    ...