2013-03-28 84 views
1

我有一個帶有下拉列表和一些ASP.NET文本框/標籤的ASP.NET web應用程序。當用戶從下拉列表中選擇一個特定的項目時,標籤會改變文本,其中一些使用jquery隱藏。然而,在點擊一個按鈕之後,控件正在被改回,就像頁面首次加載時一樣。保存按鈕點擊後的asp.net控件的UI狀態

請建議

  1. 我怎麼能保存新的標籤名稱等?
  2. 我應該把同樣的jQuery代碼寫在dropdownlist on change事件上,也是在文檔加載事件上?
  3. 我應該使用隱藏的字段來存儲值嗎?

回答

0

1:我如何保存新的標籤名稱等?

是,

您可以使用隱藏字段來存儲。

2:我是否應該將相同的jquery代碼放在更改事件上的dropdownlist中,同樣也是在文檔加載事件中編寫的?

沒有,

在Page_Load中訪問隱藏字段,提取物和使用價值。

3:我應該使用隱藏的字段來存儲值?

是,

您可以使用隱藏字段來存儲你的GUI控制使用jQuery所做的更改。通過使其運行服務器來訪問該隱藏域服務器。在服務器端,當您回發訪問隱藏字段時,提取並分配相應控件的值。您可以看到它在post中的工作方式。

0

正如你可能知道的那樣,點擊按鈕後,如果它是提交類型,它將執行回發到服務器,因爲HTTP是無狀態的,它是你負責再次生成標籤文本和值。一般來說,ASP.NET viewstate會爲輸入文本處理,但對於您必須自己執行的標籤。我可以建議這樣

1的溶液)具有將不得不改變標籤和隱藏字段的基礎上的下拉

 function MyFunction (ddlSelectedValue) 
    { 
     if(ddlSelectedValue == "1") 
     { 
      $("#LABELID").html('YOUR VALUE'); 
      // rest other logics 
     } 
    } 

2)ASP的選擇的值的值的邏輯一個JavaScript方法。點擊按鈕後,NET viewstate將幫助你保持下拉狀態。因此,在頁面頂部添加這個jQuery腳本

 $(document).ready(function(){ 
     var ddlSelectedValue = $("#DDLID").val(); 
     MyFunction(ddlSelectedValue); 

     }); 

3)將點1方法附加到下拉菜單的變化上。

4)使用隱藏字段是好的,因爲隱藏字段將滿足您在服務器端的使用要求,因爲它們也將被重新發布。