我有一个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);


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

任何建议,将不胜感激...

最佳答案

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

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


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

10-04 13:57