无法读取ascx.cs页面中的隐藏字段值

时间:2014-09-03 13:52:04

标签: c# javascript

我有一个像这样的隐藏字段:

<asp:HiddenField ID="showHideFlag" runat="server" />

我正在为java脚本中的这个隐藏字段分配一些值,如下所示:

function controlSearchBar() {
     if ($("#MainContent_ProjectListControl_searchBar").is(":hidden")) {
        $("#MainContent_ProjectListControl_showHideFlag")[0].value = "showing";
        } else {
        $("#MainContent_ProjectListControl_showHideFlag")[0].value = "hiding";
        }
      }

我正在尝试在ascx.cs页面中读取此隐藏字段,如下所示:

string hdnValue = this.showHideFlag.Value;

但是这个hdnValue没有获得该隐藏字段的值。

有人可以为此提供帮助吗?

3 个答案:

答案 0 :(得分:0)

隐藏为type="hidden"

$("#MainContent_ProjectListControl_searchBar").attr('type') == 'hidden'

隐藏为display: none

$("#MainContent_ProjectListControl_searchBar").is(":hidden")

答案 1 :(得分:0)

  

获取ASP.NET生成的HTML标记的控件ID。

<asp:Label ID="SelectedSport" runat="server" ClientIDMode="Static" ClientID="showHideFlag">

<强>的javascript

$("#showHideFlag").text("found");

答案 2 :(得分:0)

你说你可以在javascript中获得价值所以我认为问题在于隐藏字段。尝试按客户端ID设置值,如下所示 -

 var hd = document.getElementById('<%= showHideFlag.ClientID%>');
            hd.value = "hi";

我的另一个问题是你在哪些事件中获取价值?因为如果你在javascript中设置值并在页面加载事件中访问那么它将无法工作,因为首先激活页面加载事件然后执行Javascript函数。