2015-02-11 50 views
0

我需要从Eval函数接收数据进行比较,所以我试过这个,但是无法从Eval或Bind接收任何东西。如何获取评估值在ItemTemplate中的字符串

<ItemTemplate> 
    <% 
     string auc_id = ((string)Eval("Item_BelongToAuction")); 
     Guid id = Guid.Empty; 
     Guid.TryParse(auc_id, out id); 
     try 
     { 
      using (ModeloEntities modelo = new ModeloEntities()) 
      { 
       var auction_name = (from auctions in modelo.Auctions 
            where auctions.Auction_ID == id 
            select auctions).First(); 
       Response.Write(auction_name.Auction_Name); 
      } 
     } 
     catch { } 
     %> 
</ItemTemplate> 

回答

1

背后将你的逻辑代码,像这样:

protected string GetAuctionName(string auctionId) 
{ 
    Guid id = Guid.Empty; 
    Guid.TryParse(auctionId, out id); 

    using (ModeloEntities modelo = new ModeloEntities()) 
    { 
     var auction_name = (from auctions in modelo.Auctions 
           where auctions.Auction_ID == id 
           select auctions).First(); 
     return auction_name.Auction_Name; 
    } 
} 

<ItemTemplate> 
    <%# GetAuctionName((string)Eval("Item_BelongToAuction") %> 
</ItemTemplate> 

注意Eval在里面<%# %>,不<% %>使用。