C# 使用HTML辅助标记创建链接

C# 使用HTML辅助标记创建链接,c#,jquery,asp.net,asp.net-mvc,asp.net-mvc-3,C#,Jquery,Asp.net,Asp.net Mvc,Asp.net Mvc 3,我已经使用HTML帮助标记创建了一个链接。根据下面给出的代码,当用户单击链接时,页面将导航到另一个名为Hello的视图 @Html.ActionLink("Hello", "Hello", new { id=item.pk }) 但是,我想做的是调用一个JS方法并在同一页面中打开一个div。我该怎么做示例:当用户单击编辑按钮时,显示和隐藏一些控件 @foreach (var item in Model.exampleAll) { @Html.ActionLink("Hel

我已经使用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  }) 
}

将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类作为选择器,更改actionlink:

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

$('.classname').click(function() { alert(this.id); });

将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类作为选择器,更改actionlink:

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

$('.classname').click(function() { alert(this.id); });

这听起来很平常,但我会使用html锚

<a href='' id='@(item.pk)' class='itemsList'> click me </a>
这感觉不像是“MVC方式”,但你不需要更多


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

这听起来很平常,我会使用Html锚

<a href='' id='@(item.pk)' class='itemsList'> click me </a>
这感觉不像是“MVC方式”,但你不需要更多



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

因此,您不需要指定操作。只是一个没有href和JS event handler的锚,但是,我还需要获得
id=item.pk
。我该怎么做?你不需要指定行动。只是一个没有href和JS event handler的锚,但是,我还需要获得
id=item.pk
。我该怎么做呢?嗯,
someclick
中的
ActionLink
是主键。所以我需要获取该值,并将其传递给函数。按照你的第二种方法,我该怎么做?我更喜欢你的JQ。比我的简单多了。但是对于这个例子来说,使用实际的href渲染是错误的吗。顺便说一句,相同的代码片段可以应用于任何具有单击事件的元素。我得到了答案,但从您那里借用了一个lil JQ,因此您可以获得我的+1以避免导航到新页面,请使用将函数更改为$('.classname')。单击(函数(e){e.preventDefault();alert(this.id);});好的,
someclick
中的
ActionLink
是主键。所以我需要获取该值,并将其传递给函数。按照你的第二种方法,我该怎么做?我更喜欢你的JQ。比我的简单多了。但是对于这个例子来说,使用实际的href渲染是错误的吗。顺便说一句,相同的代码片段可以应用于任何具有单击事件的元素。我得到了答案,但从您那里借用了一个lil JQ,因此您可以获得我的+1以避免导航到新页面,请使用将函数更改为$('.classname')。单击(函数(e){e.preventDefault();alert(this.id);});你能告诉我获取记录主键并将其传递给函数的最佳方法吗?@user1315906,请解释。item.pk尚未填充?如果不是,你的数据来源是什么?EF?Item.Pk是主键,并填充了它。我只是想知道如何将它传递给Jquery函数?@user1315906,使用var currentId=$(this.attr('id');我收到此错误
当前上下文中不存在名称“item”
您能建议我获取记录主键并将其传递给函数的最佳方法吗?@user1315906,请解释。item.pk尚未填充?如果不是,你的数据来源是什么?EF?Item.Pk是主键,并填充了它。我只是想知道如何将它传递给Jquery函数?@user1315906,使用var currentId=$(this.attr('id');我收到此错误
当前上下文中不存在名称“item”