<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      ASP.NET中根據XML動態創建并使用WEB組件(3

      [摘要]ASP.NET中根據XML動態創建使用WEB組件(三)作者:厲鐵帥四、使用動態創建的WEB組件 如果在動態創建了WEB組件后,要使用該組件,可使用如下語句String sequencelabel...
      ASP.NET中根據XML動態創建使用WEB組件

      (三)

      作者:厲鐵帥

      四、使用動態創建的WEB組件

      如果在動態創建了WEB組件后,要使用該組件,可使用如下語句

      String sequencelabelID="sequencedataTB"+icount.ToString();

      Label sequencelabel=(Label)myPlaceHolder.FindControl(sequencelabelID);

      Sequencelabel.Text=”… …”

      … …















      其中 sequencelabelID 為要使用的組件的ID號,myPlaceHolder.FindControl()方法返回類型 Control 的對象,使用 (Label) 將該類型強制轉換為Label類型。然后你可以根據自己的需要來對此對象任何進行你想進行操作。如更改組件的屬性等等。

      需要特別提起注意的是,使用上述語句來使用動態創建的WEB組件有一個前提,就是頁面不能被刷新。如果頁面被刷新,而且你又沒有在頁面刷新后重新創建該組件。在程序中使用上述語句來使用動態創建的WEB組件,在程序運行時就會得到一個錯誤。該錯誤的產生是因為動態創建的WEB組件在頁面被刷新后就不存在了。在筆者的程序中就存在這樣的問題。因為筆者的程序的思路是

      1、讀取XML文件

      2、根據讀取的信息動態創建WEB組件,并為其文本屬性賦值

      3、允許用戶對動態創建WEB組件的文本屬性進行修改。

      4、當用戶提交修改后,要將修改過的屬性寫入XML文件中

      但是當用戶提交修改后,頁面會被刷新。那么應該如何得到修改過的屬性哪?

      筆者在程序中采用了下面的方法:

      private void summitButton_Click(object sender, System.EventArgs e)

      {

      … …

      //將用戶填寫的測量點信息寫入數組

      for(int icount=1;icount<=int.Parse(ViewState["totalnum"].ToString());icount++)

      {

      … …

      string nameTBID="nameTB"+icount.ToString();

      string nameTBtext=Request.Form[nameTBID].ToString();

      namestr[icount]=nameTBtext;



      }

      … …

      }

































      其中nameTBID 為要使用的WEB組件的ID號。當頁面刷新后,雖然動態創建的WEB組件不存在了,但是Request 對象已經將WEB組件的信息保存下來了,所以仍然可以獲得修改過的信息。

      如果你想在頁面刷新后,仍然顯示動態創建的WEB組件,那么你需要做的是在 Page_Load(object sender, System.EventArgs e) 中再次調用創建WEB組件的函數,并用 Request.Form[ID] 為相應的組件賦修改過的值。請記住,創建WEB組件的函數要放在 if(IsPostBack){ } 中。


      日韩精品一区二区三区高清