asp超链接不能在jquery中工作

asp HyperLink not working in jquery

本文关键字:工作 jquery 超链接 不能 asp      更新时间:2023-09-26

由于某些原因,只有asp.net超链接不能与jquery一起工作。有什么建议吗?

<asp:HyperLink runat="server" ID="hypeDeleteBaseline" Text="Delete Baseline" /> <br/>
//Delete Baseline information
jQuery('[id$="hypeDeleteBaseline"]').click(function (e) {
    e.preventDefault();      
    var equipid = "<%=Equipment.ID%>";
    var inspectionid = jQuery('[id$="ddInspectionDate"]').val();
    deleteBaseline(equipid, inspectionid);
});

谢谢你的帮助

你的选择器有点不寻常。

jQuery('#hypeDeleteBaseline').click(...)

还有,你检查过呈现的HTML了吗?通常情况下,您在控件上设置的ID实际上并不是在HTML中呈现的ID。像这样的代码可能会起作用:

jQuery('<%=hypeDeleteBaseline.ClientId%>').click(...)

最后,您没有在javascript类中包含太多上下文。确保它位于一个文档就绪的处理程序中:

<script type="text/javascript">
    jQuery(function(){
        //Delete Baseline information
        //...
    });
</script>

你需要得到在html上呈现的ClientId,而不是作为参数,尝试:

jQuery('#<%=hypeDeleteBaseline.ClientID%>')

或者如果你使用Net 4,设置ClientIDMode="Static"在你的超链接不改变渲染id。

我的代码没有任何问题。asp超链接是通过jquery加载的。加载ajax调用。所以在load的回调函数中我添加了

jQuery('[id$="hypeDeleteBaseline"]').click(function (e) {
        e.preventDefault();      
        var equipid = "<%=Equipment.ID%>";
        var inspectionid = jQuery('[id$="ddInspectionDate"]').val();
        deleteBaseline(equipid, inspectionid);
    });

现在它工作得很好。谢谢大家的建议。