When you get output like
System.string[]
this indicates that you have asked for the
Type
of the cell/Field, this is because
dt.Rows[0]["FName"]
returns an
object
which, by default, returns it's Type when
ToString()
is called on it.
To get the content try casting to a string:
Response.AddHeader("content-disposition", "attachment;filename=" + (string)dt.Rows[0]["FName"]);