MVC循环中的表单在Chrome中自动提交

时间:2015-03-05 14:38:40

标签: javascript jquery asp.net-mvc razor

出于某种原因,表单会自动在Chrome中提交,但不会在Firefox中提交。谁能指出我做错了什么?

@foreach (var friend in Model.FacebookFriends2.Where(d => !Model.CaseContacts.Select(c => c.ImportedFrom.Replace("Facebook_", "")).Contains(d.ID) && d.FullName.StartsWith(heading.ToString())))
{
    <li class="@string.Format("row{0}", friend.ID)">
        @{
            var fullName = friend.FullName;
            if (fullName.Length > 30)
            {
                fullName = fullName.Substring(0, 30) + "...";
            }
        }
        @using (Ajax.BeginForm("MyConnections", new {@caseid = Model.LayoutViewModel.CurrentCaseID, 
            @img = "http://graph.facebook.com/" + @friend.ID + "/picture?width=720&height=720", 
            @UNQID = friend.ID, @source = "Facebook"}, 
            new AjaxOptions {HttpMethod = "Post", InsertionMode = InsertionMode.Replace, UpdateTargetId = "MyConnections"}))
        {
            <a class="fblinkadd" href="javascript:void" onclick="$('.@string.Format("row{0}", friend.ID)').hide();">
                <span class="thumbnail">
                    <img src="http://graph.facebook.com/@friend.ID/picture?height=55&width=55">
                </span> @fullName
            </a>
        }
    </li>
}

然后在页面底部使用此脚本

$(document).ready(function () {
    $('.fblinkadd').click(function() {
        $(this).closest('form').submit();
    });
});

1 个答案:

答案 0 :(得分:0)

看看这篇关于Ajax.Beginform的帖子。我没有在您的示例中看到任何显示您要用“MyConnections”标记的HTML替换HTML的内容

Ajax.beginform executing full postback instead of partial

@using (Ajax.BeginForm("ShowPartial", new AjaxOptions()
{
    InsertionMode = InsertionMode.Replace,
    UpdateTargetId = "dane"
}))
{
    <input type="submit" value="click"/>
}

<div id="dane">
    @Html.Action("ShowPartial")
</div>