2011-02-18 97 views
2

我正在調用Java腳本函數,因爲我傳遞隱藏字段的值,即我想在服務器端使用的隱藏字段的值,但是值隱藏字段爲空。在服務器端獲取隱藏字段的空值

客戶端功能

function getDetails() 
    { 
     document.forms[0].HdnNode.value=tree_selected_id; //HTML Hidden Field. 
     str="Cmp_12"; 
     str_array=str.split("_"); 
     var str_array1=str_array[0]; 
     var str_array2=str_array[1]; 
     document.getElementById("<%=HiddenNodeId.ClientId %>").value=str_array1; 
     document.getElementById("<%=HiddenTreeId.ClientId %>").value=str_array2;      
    }  

服務器端功能

Public Sub InsertNodes(ByVal NodeId As String) 
    Dim objErrorObj As New ErrorObj 
    Dim ParentID As String 
    ParentID = HiddenNodeParent.Value 
    NodeId = HiddenNodeId.Value 
    Dim NodeIDTree As String 
    NodeIDTree = HiddenTreeId.Value 
End Sub 
+1

可以使用的代碼塊,你格式化你的代碼?另外,你有沒有嘗試在發送給服務器之前提醒隱藏的字段值?可能幫助你弄清楚它是客戶端還是服務器端問題 – JohnP 2011-02-18 11:42:02

+0

什麼是html代碼?可能你沒有正確調用getDetails,或者你有一個javascript錯誤。 – Aristos 2011-02-18 12:22:14

回答

0

必須設置runat="server"的隱藏字段屬性來訪問它在服務器端代碼你已經發布。

喜歡的東西

HTML

<input type="hidden" id="hidTest" runat="server" /> 

服務器端代碼

hidTest.Value; 
1

我使用隱藏域用的UpdatePanel(隱藏字段必須發送回服務器在局部回傳用它),你可以嘗試設置EnableViewState = true(整個頁面回發)。

ASPX:

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" OnLoad="UpdatePanel1_Load" UpdateMode="Conditional" ChildrenAsTriggers="True"> 
     <ContentTemplate> 
      <asp:HiddenField runat="server" ID="LinesBack" value="0"/> 

     <asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="10" AssociatedUpdatePanelID="UpdatePanel1"> 
       <ProgressTemplate> 
        <img id="spinner" alt="spinner" src="../Pictures/spinner_30x30.gif" /> 
       </ProgressTemplate> 
      </asp:UpdateProgress> 
      <div id="Back" class="NewresultPanel" runat="server" ></div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

HTML:

var a = document.getElementById('<%= LinesBack.ClientID %>').value; 

CS:

  LinesBack.Value = CountRows.ToString();