获取具有相同服务器ID的多用户控件的clientID

时间:2014-08-20 12:21:06

标签: c# javascript jquery asp.net

我有ASP.Net应用程序,在同一页面中有多个用户控件,每个人都有一个隐藏字段,其中包含一个值,每个人都有一个调用弹出窗口的按钮,并通过隐藏字段将此值传递给它。登记/> 当我尝试访问隐藏字段并获取值时,程序总是得到最后一个(最后创建)。
如何获取当前UserControl中内部隐藏字段的值(我点击该按钮)? 尝试:

var hdnRegion = "<%=hdnRegionId.ClientID%>";
var regionIdVal = $("#" + hdnRegion).val();
methodName(regionIdVal);
另一个:

var currentControl = "<%=this.ClientID%>";
var hdnRegion = currentControl + "_" + "hdnRegionId";
var regionIdVal = $("#" + hdnRegion).val();
methodName(regionIdVal);


我还尝试从后面的代码中调用一个属性,该属性返回值,并返回一个没有正确结果的整个控件。

任何建议都将受到赞赏......

1 个答案:

答案 0 :(得分:0)

根据问题的评论,您的btnUpdatehdnRegionId控件位于同一个容器中(例如在同一个div中),请尝试以下操作:

$('input[id*="btnUpdate"]').click(function(){
    var regionIdVal = $(this).parent().children('input[id*="hdnRegionId"]').val();
    methodName(regionIdVal);
});

这是一个JSFiddle Demo,用于模拟ASP.NET呈现的HTML代码。