Javascript 将模型项id从Html.ActionLink传递给jquery函数
我希望能够使用Html.ActionLink()将下面代码中每个项的id传递给jQuery函数Javascript 将模型项id从Html.ActionLink传递给jquery函数,javascript,jquery,html,asp.net-mvc,asp.net-mvc-4,Javascript,Jquery,Html,Asp.net Mvc,Asp.net Mvc 4,我希望能够使用Html.ActionLink()将下面代码中每个项的id传递给jQuery函数 @foreach(模型中的变量项) { 如果(item.AppointmentStatus==“P”) { @DisplayFor(modelItem=>item.Speciality) 日期 临床医生 位置 @DisplayFor(modelItem=>item.AppointmentDate) @DisplayFor(modelItem=>item.ClinicianName)
@foreach(模型中的变量项)
{
如果(item.AppointmentStatus==“P”)
{
@DisplayFor(modelItem=>item.Speciality)
日期
临床医生
位置
@DisplayFor(modelItem=>item.AppointmentDate)
@DisplayFor(modelItem=>item.ClinicianName)
@DisplayFor(modelItem=>item.Location)
查看@Html.ActionLink(“,”详细信息“,”我的约会“,”新建{id=item.appointIdentifier.id},新建{onclick=“getAppointmentRef(item.AppointmentIdentifier.id)”)
}
}
//jQuery-目前还考虑了非常基本的
$(“.appointmentbutton”)。单击(getAppointmentRef);
函数getAppointRef(id){
警报(id);
}
该函数被调用为ok,但即使我传递了一个“hello”,它似乎也传递了一个JSON字符串,其参数中没有一个是“id”I,e。123456789
如何让Actionlink获取该模型项的id?首先,这里有一个语法错误。我认为这应该是:
onclick = "getAppointmentRef( @item.AppointmentIdentifier.id)"
或
两个中的一个
但是,我主要会采取不同的方法:
@Html.ActionLink("Link text", "Details", "MyAppointments", new { id = item.AppointmentIdentifier.id }, new { @class = "myLink", data_id = item.AppointmentIdentifier.id })
然后在jQuery中:
$(".myLink").click(function () {
alert($(this).data("id"));
});
这样,您就可以更清楚地分离关注点
我希望这能有所帮助。首先,您在那里有一个语法错误。我认为这应该是:
onclick = "getAppointmentRef( @item.AppointmentIdentifier.id)"
或
两个中的一个
但是,我主要会采取不同的方法:
@Html.ActionLink("Link text", "Details", "MyAppointments", new { id = item.AppointmentIdentifier.id }, new { @class = "myLink", data_id = item.AppointmentIdentifier.id })
然后在jQuery中:
$(".myLink").click(function () {
alert($(this).data("id"));
});
这样,您就可以更清楚地分离关注点
我希望这有帮助。对于按钮,您可以使用-
<input type="button" data-apptid="@item.AppointmentIdentifier.id" class="myLink" value="Click me!" />
这样,如果您需要在jQuery中执行某些操作,除了加载新页面之外,还可以在那里执行,并让函数确定是否重定向-
<input type="button" data-apptid="@item.AppointmentIdentifier.id" class="myLink" value="Click me!" />
这样,如果您需要在jQuery中执行某些操作,除了加载新页面外,还可以在那里执行操作,并让函数确定是否重定向。使用Razor创建ActionLink然后启动jQuery单击函数似乎是多余的。我要么用jQuery事件处理程序生成一个输入元素,要么一起去掉jQuery函数,因为如果您只是在更改页面,这其实是不必要的。然而,我只是在教育ConfusedShark如何将jQuery和模型值与最佳实践原则相结合。我相信这不会是他们最终的代码,因为它目前没有多大意义。我也会使用
$(this.data(“id”)
很好的建议LAR,现在更新。非常感谢,胆子把这个技巧做得很好,我现在可以扩展这个功能了。我的代码中确实有单击函数jquery事件处理程序,但在进行调整之前,我已切换到onclick作为启动程序,以使其正常工作。实际上,我并没有在url中传递id,只是将其包含在示例中,以表明它能够成功地完成此操作。使用Razor创建ActionLink,然后启动jQuery click函数似乎是多余的。我要么用jQuery事件处理程序生成一个输入元素,要么一起去掉jQuery函数,因为如果您只是在更改页面,这其实是不必要的。然而,我只是在教育ConfusedShark如何将jQuery和模型值与最佳实践原则相结合。我相信这不会是他们最终的代码,因为它目前没有多大意义。我也会使用$(this.data(“id”)
很好的建议LAR,现在更新。非常感谢,胆子把这个技巧做得很好,我现在可以扩展这个功能了。我的代码中确实有单击函数jquery事件处理程序,但在进行调整之前,我已切换到onclick作为启动程序,以使其正常工作。实际上,我并没有在url中传递id,只是将其包含在示例中,以显示它能够成功地完成此操作。