2016-03-01 72 views
1

我正在爲婚姻網站製作個人資料頁面。我在make profile頁面中使用這些函數。是否有任何方法來優化這些函數?它們在ASP.NET頁面頁面加載事件中不是IsPostBack條件下調用,並且迭代次數太多。ASP.NET如何有效地在下拉列表中添加整數

private void LoadTime() 
    { 
     string text = string.Empty; 
     //hour 
     for (int i = 0; i < 12; i++) 
     { 
      text = (i + 1 < 10) ? "0" + (i + 1).ToString() : (i + 1).ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlHour.Items.Add(li); 
     } 
     //min 
     for (int i = 0; i < 60; i++) 
     { 
      text = (i < 10) ? "0" + i.ToString() : i.ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlMin.Items.Add(li); 
     } 
    } 

    private int loadfromage() 
    { 
     int from = (rbtnMale.Checked && !rbtnFemale.Checked) ? 18 : 21; 
     //from age 
     for (int i = from; i <= 49; i++) 
     { 
      string text = i.ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlFromAge.Items.Add(li); 
     } 
     return from; 
    } 

    private void loadtoage(int fromage) 
    { 
     //to age 
     for (int i = fromage; i <= 50; i++) 
     { 
      string text = i.ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlToAge.Items.Add(li); 
     } 
    } 

    private void loadfromheight() 
    { 
     //from height 
     for (int i = 4; i <= 7; i++) 
     { 
      string text = i.ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlppFromHeightFeet.Items.Add(li); 
     } 
     for (int i = 0; i <= 11; i++) 
     { 
      string text = i.ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlppFromHeightInches.Items.Add(li); 
     } 

    } 

    private int feetToInches(int feet, int inches) 
    { 
     return (feet * 12) + inches; 
    } 


    private void loadtoheight(int inches) 
    { 
     int feet = inches/12; 
     inches %= 12; 
     //to height 
     for (int i = feet; i <= 8; i++) 
     { 
      string text = i.ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlppToHeightFeet.Items.Add(li); 
     } 
     for (int i = inches; i <= 11; i++) 
     { 
      string text = i.ToString(); 
      ListItem li = new ListItem(text, i.ToString()); 
      ddlppToHeightInches.Items.Add(li); 
     } 

    } 

回答

0
private void loadtoage(int fromage) 
{ 
    //to age 
    for (int i = fromage; i <= 50; i++) 
    { 
     string text = i.ToString();// convert i to string just once. you are converting it again in next line. boxing and unboxing is expensive when it comes to performance. 
     ListItem li = new ListItem(text, i.ToString());//Rather than doing i.ToString() again, you can directly pass text. Its all same. 
     ddlToAge.Items.Add(li); 
    } 
} 

我看到有很多的你在做這個地方。