从javascript

时间:2018-10-30 13:30:02

标签: javascript asp.net

我正在尝试做看似简单但无法完成的事情

我试图将网格中行焦点更改后的列值设置为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。

两个。

我缺少一些简单的东西。

1 个答案:

答案 0 :(得分:0)

我最近不得不完成类似的任务,而且我也无法从代码隐藏中访问值。我研究发现,它不是那么简单,并且您无法使用javascript做到这一点。我建议您检查是否已安装jQuery,如果已安装,请将函数更改为此:

btnPopulateGrids_Click();

此外,我想您正在使用OnValueChanged="hdnClientID_OnValueChanged"/>从代码背后触发某些功能。 我建议将<asp:HiddenField/>添加到您的{{1}}中,并使用提供的函数触发方法。