Я думаю, что вы хотите отобразить имя в сообщении подтверждения, вот правильный путь.
Button l = (Button)e.Row.FindControl("btnDelete");
string textForMessage = @"return confirm('Are you sure you want to delete this record with the name: {0}');";
l.Attributes.Add("onclick", String.Format(textForMessage, DataBinder.Eval(e.Row.DataItem, "Name"));
Нет необходимости в скрипте блоках в виде строки внутри onclick кавычки известны как javascript для браузеров, и вам нужно добавить возврат ключей как return остановит удаление вызываемого события.
Edit 1 нет ничего плохого в том, что \ n вы можете легко добавить \ n, например
string textForMessage = @"return confirm('Are you sure you want to delete this record, \nwith the name: {0}\nsome more text lines');";
убедитесь, что ваша строка начинается с символа @ , как строка textForMessage = @ "message", иначе вам нужно использовать двойную косую черту