Since footer does not bind to any data, using Eval here is meaningless. As you can see, a gridview control only has one footer row and eval() works for each data row.

We can do work around on RowDataBound event if the data for footer is related to every data row, or simply populate the value after binding data to the gridview if the data is unique (your case is in this condition).

MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue.
If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.