C# 使用HTML辅助标记创建链接
我已经使用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
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”