Если тип возвращаемого значения Eval () является объектом (и я подозреваю, что это так), это объяснило бы ошибку, которую вы видите. Возможно, измените вашу функцию на:
RenderName(object nameString, object valueString)
Затем внутри функции проверьте переданные параметры на нулевое значение и либо повторно приведите их к строкам, либо просто вызовите ToString () для них.
Примечание: я не нахожусь в месте, где я могу проверить это в моей собственной среде разработки, поэтому извиняюсь, если у этого подхода есть несколько сбоев.