我有一个带有多个锚标签的视图.有没有办法使用模型对象返回视图并转到视图中的特定锚标记?
例如,我的View有这样的锚点:
<a name="Section1"></a>
...
<a name="Section2"></a>
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用以下方法击中这些锚点:
return Redirect(Url.RouteUrl(new { controller = "myController", action = "myAction" }) + "#Section1");
Run Code Online (Sandbox Code Playgroud)
但我不认为我可以使用重定向,因为我需要发送一个模型:
Run Code Online (Sandbox Code Playgroud)return View("myAction", model); // how to go to anchor?
ali*_*ari 13
您可以在视图模型中发送内容以查看并使用javascript滚动到该锚点.例如,假设您有一个名为Section的属性.您可以在控制器中设置它并在视图中使用此javascript代码滚动到该锚点:
$(document).ready(function () {
var anchor = document.getElementById('@Model.Section');
anchor.scrollIntoView(true);
});
Run Code Online (Sandbox Code Playgroud)
首先,我们需要将 achor 传递给我们的视图:
控制器:
ViewBag.Section = "register"; //#register
return View();
Run Code Online (Sandbox Code Playgroud)
看法:
@if (ViewBag.Section!=null)
{
<script>
$(function () {
window.location.hash = '#@ViewBag.Section';
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
现在您可以使用“如何滚动到锚点”答案/sf/answers/1113452091/
| 归档时间: |
|
| 查看次数: |
9096 次 |
| 最近记录: |