Asp.net
如何在程式碼隱藏中呼叫 Eval?
我怎麼從程式碼隱藏中呼叫 Eval() ?我知道這是 DataBinder.Eval(Container.DataItem, “name”) 之類的前端快捷方式,但我無法編譯這個該死的東西。我想我缺少正確的方法參數。我想變成這樣的東西:
<asp:Image ID="imgLogo" runat="server" ImageUrl='<%# Eval("name") %>'/>進入:
<asp:Image ID="imgLogo" runat="server" ImageUrl='<%# GetImagePath(???) %>'/>帶程式碼隱藏:
protected string GetImagePath(????) { //some code return "some/logical/path" + Eval("name"); }asp:Image 控制項位於綁定到 SqlDataReader 的轉發器中。
Eval是一個方法 onPage(TemplateControl實際上是 on,這意味著它也存在於UserControl)。所以你不需要傳遞任何特殊參數:protected string GetImagePath() { //some code return "some/logical/path" + Eval("name"); }注意:您只能
Eval在數據綁定時呼叫,但這也是隱含的情況<%# Eval(...) %>,所以這不應該造成問題。如果您想要綁定到的實際對象,請使用
GetDataItem(),Eval(x)基本上意味著DataBinder.Eval(GetDataItem(), x).