Tohle prostě a jednoduše nemůžete. Pokud používáte Binding Expression, tak ten nemůže být uvnitř obsahu vlastnosti, vlastnost má buď hodnotu udanou textem, nebo celou její hodnotu určuje Binding Expression a místo uvozovek se používají apostrofy. Vypadat to tedy může jedině takto:
<asp:TextBox ... Text="cesta" /> nebo
<asp:TextBox ... Text='<%#Eval("cesta")%>' />
Pokud chcete zkombinovat něco z Evalu a nějakou vlastní hodnotu, tak to jde, Eval má volitelný druhý parametr, kde zadáte formátovací řetězec (takový ten string s placeholderem {0}, do kterého se hodnota Evalu dosadí a případně zformátuje).
<asp:TextBox ... Text='<%#Eval("cesta", Path.Combine(Server.MapPath("..."), "/{0}"))%>' />
Je také potřeba rozlišovat mezi Eval a Bind, Eval je jednosměrná datová vazba (z databáze do komponenty) a tam formátovací řetězec určit jde, zatímco Bind je obousměrná vazba (umí to i z komponenty zpátky do databáze). Rozhodně není možné Bindnout do databáze jen část hodnoty v textovém poli, to už budete muset udělat kódem.
|