我正在尝试做看似简单但无法完成的事情
我试图将网格中行焦点更改后的列值设置为Java脚本中的隐藏值。
我嵌入的javascript代码:
function OnGridFocusedRowChanged() {
grdA.GetRowValues(grdA.GetFocusedRowIndex(), 'ClientID', OnGetRowValues);
}
function OnGetRowValues(values) {
//Set hidden value
document.getElementById('<%=hdnClientID.ClientID%>').value = values[0];
//Fire button click
btnPopulateGrids_Click();
}
其中hdnClientID
是我的隐藏字段的名称
在GridA中,我这样设置:每次更改行焦点时都会执行OnGridFocusedRowChanged
。
至此,它工作正常,values[0]
中的OnGetRowValues()
包含GridA中相应行中的正确值。
但是在后面的相应代码中,我无法从隐藏字段hdnClientID
中访问值。访问时始终显示为空
Current_Client_ID = CInt(hdnClientID.Value);
无法访问或转换以下内容中的任何值 hdnClientID.ClientID。
两个。
我缺少一些简单的东西。
答案 0 :(得分:0)
我最近不得不完成类似的任务,而且我也无法从代码隐藏中访问值。我研究发现,它不是那么简单,并且您无法使用javascript做到这一点。我建议您检查是否已安装jQuery,如果已安装,请将函数更改为此:
btnPopulateGrids_Click();
此外,我想您正在使用OnValueChanged="hdnClientID_OnValueChanged"/>
从代码背后触发某些功能。
我建议将<asp:HiddenField/>
添加到您的{{1}}中,并使用提供的函数触发方法。