【发布时间】:2015-07-22 01:29:27
【问题描述】:
寻找与web表单中的updatepanel类似的解决方案效果,但是对于MVC,下面是关于我的问题的一些特别说明。我确信有很多方法可以做到这一点,但理想情况下,我想要最好和最合适的方法。
我查看了this question,但无法让它工作。
更新: 它可以回发; MVC 等价物。我只需要为用户的视角维护页面的位置。
我已经在我的索引页面底部尝试了以下内容,但没有骰子。
@section Scripts
{
<script type="text/javascript">
window.scrollTo = function( x,y ) {
return true;
}
</script>
}
还有: 控制器
ViewBag.JumpTo = "equipmentAnchor";
return RedirectToAction("Index");
索引
<div id="equipmentAnchor"></div>
@section Scripts
{
<script type="text/javascript">
$(document).ready(function () {
var JumpTo = '@ViewBag.JumpTo';
if (JumpTo != "") {
$(this).scrollTop($('#' + JumpTo).position().top);
}
});
</script>
}
实现这一目标的最佳/最简单方法是什么?
我看到过报告说 AJAX 在服务器上很重,但并没有过分关注,最好没有 CSS 技巧(如果有的话)。 JQuery 不是我太熟悉的东西,但可能是最好的解决方案,但不是特别精通,所以不知道从哪里开始。
在下面的示例中是一个带有删除按钮的列表视图,该按钮返回到控制器以遍历列表并删除列表中的最后一个条目。但是无论是添加还是删除,回发后页面都会跳转到索引页面的顶部。
我应该/我应该如何停止发回并重新加载页面,或者至少阻止用户体验它?
示例代码:
索引:
<div class="List">
@{Html.RenderPartial("View", Model.List);}
</div>
部分
@using (Html.BeginForm("RemoveExisting", "PA_4"))
{
if (Model != null)
{
foreach (var ri in Model)
{
<div class="ui-grid-c ui-responsive">
<div class="ui-block-a">
<p>One</p>
<span>
@ri.One
</span>
</div>
<div class="ui-block-b">
<p>Two</p>
<span>
@ri.Two
</span>
</div>
</div>
}
}
if (Model.Count() > 0)
{
<div>
<input type="submit" value="Remove"/>
</div>
}
}
【问题讨论】:
-
看看
Ajax.BeginFormmsdn.microsoft.com/en-us/library/… -
干杯 - 将调查并更新问题。
标签: javascript jquery ajax razor asp.net-mvc-5