Dropdownlist filling within Gridview (updated)
<p>I have a DropDownList  within a Gridview (<em>a web application</em>), the Dropdownlist' data comes from database, as :</p>

<pre><code>    private void LoadClassType(DropDownList dropDownList)
    {
        businesslayer bs = new businesslayer();       //   business layer object
        dalDataset ds = new dalDataset ();           // typed dataset 

        dropDownList.Items.Clear();
        ds = bs.GetStClassType(-1);
        dropDownList.DataSource = ds.tClassType;
        dropDownList.DataTextField = "classType";
        dropDownList.DataValueField = "classTypeId";
        dropDownList.DataBind();
   }
</code></pre>

<p>It's important to show this DropDownList with each record(row).. <br>   using The '<code>GridViewRowDataBound</code>'  to set the values for the dropdownlists in each grid' row at run time..like:</p>

<pre><code> protected void MyGridViewRowDataBound(object sender, GridViewRowEventArgs e)
 {
       DropDownList ddlClassTypeId= (DropDownList)e.Row.FindControl("ddlClassTypeId");
       LoadClassType(ddlClassTypeId);// load data
 }
</code></pre>

<p>Actually I found that I'm calling this method every row!<br>
I'm trying to find a way to enhance the performance.
Is there a technique to get the two values (<code>ClassTypeId(int),ClassType (string)</code>) <strong>once</strong> and assign each DropDownList to these values without calling more than one time for the database? <br>
  What is the correct way to do this?
ASP.NET 3.5 C# </p>
