2012-04-11 66 views
1

代碼: HTML:JavaScript對象所需錯誤調用隱藏字段的值時

<input type="hidden" id="lblHierarchyType" value="" runat="server" /> 

C#代碼隱藏:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (lblHierarchyType.Value == "") 
     { 
      lblHierarchyType.Value = "AOR"; 
     } 
     if (!Page.IsPostBack) 
     { 
      txtUserID.Focus(); 
      FillGroupsList(); 
      FillOrgTree(); 
      ClearErrorMsgs(); 
     }   
    } 

的Javascript:

 function populateSelectedNode(node) { 
      debugger 
      var selectedOrg = node.getValue(); 
      var hierarchyType = document.getElementById("lblHierarchyType").value; 
     } 

代碼中的錯誤了(微軟JScript運行時錯誤:所需的對象)當它命中lblHierarachy.value噸的分配o var層次結構。

感謝

+1

改變它的ID查看網頁的源代碼,並確保輸入ID是呈現爲lblHierarchyType,尤其是如果您有母版頁面 – peroija 2012-04-11 16:25:59

回答

4

是ASP.NET會產生不會是「lblHierarchyType」這樣更好地通過其客戶端ID

var hierarchyType = document. 
        getElementById("<%= lblHierarchyType.ClientID%>").value; 
+0

優勝者優勝者雞晚餐......謝謝。 – 2012-04-11 16:27:57

+0

您應該注意,無論何時將'runat =「server」'添加到元素,ASP.NET都將根據頁面模板層次結構生成一個ClientID。 – 2012-04-11 16:48:40

+0

@ todd.pund如果此答案解決了您的問題,請在左側標記爲已回答您的問題 – peroija 2012-04-11 16:51:52