2011-11-22 62 views
4

我已經在javascript中設置textoflablel爲dropdownlist.selectedvalue。但是,當我嘗試獲取按鈕上的文本時,它不可用。如何在javascript中設置該值,以便在回發後可以使用該值。在javascript中使用lable.innerHTML設置的標籤文本在發回後丟失

這是我的javascript函數的代碼。

function ddlVessel_OnSelectedIndexChange() { 
    var ddl = document.getElementById("<%=ddlVessel.ClientID %>"); 
    var lable = document.getElementById("<%=lblSegmentNo.ClientID %>"); 
    if (ddl.selectedIndex > 0) { 
     var SelectedVal = ddl.options[ddl.selectedIndex].value; 
     lable.innerText = SelectedVal; 
     return true; 
    } 
    else { 
     lable.innerHTML = ""; 
     return true; 
    } 
} 

我也試過lable.value和lable.text但兩者都沒有工作。

回答

8

Lable不是表單元素。它不會被髮布到服務器,所以服務器永遠不會知道您分配了什麼值。它也不在ViewState中可用,因爲它沒有從服務器端分配。

通常情況下,您必須在隱藏字段中提交此值,並在加載控件時重新指定該值,但由於您已有權訪問新值,因此您應該能夠簡單地將該值當控件被加載時,標籤值爲ddlVessel

0

對客戶端的HTML所做的更改不在ASP.NET的預覽中,除非發佈更改。對lbel的任何更改都不會被回傳,因此這些更改只是暫時的。

1

這不是一個非常乾淨的解決方案,但是您可以在更改標籤文本時填充隱藏字段。然後檢查回發並更改標籤文本服務器端。

相關問題