As long as you only could use data sources members in NavigateUrl of GridView, I use this way to pass external values with GridView HyperLinkField which are not part of the Gridview :
For example I've an
_ID1 (a member of GridView) , _ID2(External data with sample value 100 as string), which should pass to my NavigateUrl, simply :
1. Define "protected string _ID = "100";" at top of class.
3. You are done.