0

我已经使用 HTML 帮助标签创建了一个链接。根据下面给出的代码,当用户点击链接时,页面将导航到另一个名为Hello.

       @Html.ActionLink("Hello", "Hello", new {  id=item.pk  }) 

但是,我想做的是调用一个 JS 方法并在同一页面中打开一个 div。我怎样才能做到这一点 ?示例:当用户单击编辑时显示和隐藏一些控件

@foreach (var item in Model.exampleAll)
{

@Html.ActionLink("Hello", "Hello", new {  id=item.pk  }) 
}
4

2 回答 2

2

将 ActionLink 更改为:

 @Html.ActionLink("Hello", "Hello","YourController", new { onclick = "yourFunction();"}) 

或者甚至更好地添加一个 js 函数来拦截您的链接的点击,这里是 JQuery:

@Html.ActionLink("Hello", "Hello","YourController", new { id= "someLink"}) 

$('#someLink').click(function() { alert('hello'); });

编辑:如果您需要将一个函数应用于多个元素,请使用 css 类作为选择器,更改操作链接:

@Html.ActionLink("Hello", "Hello","YourController", new { id= item.pk, @class = "classname"}) 

$('.classname').click(function() { alert(this.id); });
于 2013-02-24T20:00:28.770 回答
1

听起来很平凡,我会使用 html 锚

<a href='' id='@(item.pk)' class='itemsList'> click me </a>

然后是一个 JQuery 事件处理程序

$('.itemsList').click(function(){
      var currentId = this.id; // get id of object that was clicked
      // populate or make visible your div here
});

它不像“MVC 方式”,但您不需要更多。

重要提示:如果您不想使用锚点/链接进行任何导航,使用 Html.ActionLink 似乎有点过头了。

于 2013-02-24T20:01:55.507 回答