提交ajax表单asp.net mvc后去锚

时间:2013-06-09 20:18:26

标签: ajax asp.net-mvc anchor

我有一个使用mvc 3 ajax形式的搜索功能。一切都很有效。但是,由于表单包含几个文本框和选项供选择,因为它是一个ajax表单,用户没有注意到结果,他必须向下滚动才能看到结果。如何在ajax表单中添加锚点,用户将在单击搜索按钮后自动重定向(向下滚动)到锚点?谢谢

1 个答案:

答案 0 :(得分:1)

首先,您需要在ajax表单的成功发布请求时添加回调:

Ajax.BeginForm("Search", new AjaxOptions {OnSuccess = "navigateToSearchResult"})

其中navigateToSearchResult是javascript函数。  在此功能中,您可以在当前页面上指定锚点:

function navigateToSearchResult(result) {
    var elementId = getResultElementIdFromResult(result);
    //set hash to empty because browser doesn't scroll to element
    // if new and current hash are the same 
    window.location.hash = "";
    window.location.hash = "#" + elementId;
}