Rellene Gridview en tiempo de ejecución utilizando textfile

Puede parecer un problema simple para muchos de ustedes, pero lo que quiero hacer es leer un archivo de texto en un evento de clic conStreamReader (ASP.net y C #) después de leer ese archivo de texto, estoy dividiendo cada línea con el delimitador ',' y luego cada parte del mismo que estoy almacenandoDatatable's Columna y luego vinculo los datos a mi vista de cuadrícula, mi problema es que he escrito el código pero estoy obteniendo una vista de cuadrícula vacía como esta

mi código es

protected void readfile_Click(object sender, EventArgs e)
{
    string line;
    DataTable dt = new DataTable();
    using (StreamReader sr = new StreamReader(@"D:\Temp\fileread\readtext.txt"))
    {
        while ((line = sr.ReadLine()) != null)
        {
            string[] parts = line.Split(',');
            dt.Rows.Add();
            for (int i = 0; i < parts.Length; i++)
            {
                dt.Columns.Add();
                dt.Rows[0][i] = parts[i];
                MyGridView.DataSource = dt;
                MyGridView.DataBind();
            }
        }
        sr.Close();
    }

mi archivo de texto tiene datos

1,1,4,2,"#",Description1
5,5,4,2,"#",Description2
3,3,6,3,"#",Description3
2,2,4,2,"#",Description4
4,5,4,2,"#",Description5

Espero que tengas lo que estoy tratando de preguntar.