2011-05-31 108 views
0

有沒有一種方法來存儲來自DataList的字段?將datalist eval存儲到變量中

string year = Eval("date"); 

我想要做的字符串操作一年,並且需要如果可能的話,將其存儲在變量!

回答

2

如果你使用eval,我猜你正在做一個數據綁定表達式中的工作?如果是這樣,那通常是錯誤的地方做數據的任何實際的後處理,但如果你必須這樣做,你應該能夠明確地投,像這樣:

string year = (string)Eval("date") 

或者,如果變量ISN」 T A字符串類型本身,

string year = Eval("date").ToString() 

更重要的是,添加到您的網頁的功能,它接受一個對象參數和所進行的處理,像這樣:

public string DoSomething(object value) 
{ 
    var year = value.ToString(); // or alterinately... 
    var year = value as string(); 

    if (!string.IsNullOrEmpty(year)) 
    { 
     // do something to the year 
     return year; 
    } 

    return ""; // default in case you can't process the value 
} 

然後,在你的ASP.NET頁面,每當你正在做數據綁定...

<%# DoSomething(Eval("date")) %> 
1
<asp:Label ID="Label1" runat="server" Text='<%# GetLabelText(Eval("date")) %>' /> 

string GetLabelText(object date) 
{ 
    if (date != null) 
    { 
     ... 
     // here you can cast date to appropriate type (possibly DateTime) and 
     // store that in a variable, manipulate it and return a text that would be 
     // displayed by Label1 
    } 
} 
+0

是唯一的方法嗎?有沒有辦法簡單地把它直接放入一個變量? – AlanFoster 2011-05-31 18:27:50

+0

您可以在某種程度上按照標記操作,但不能在其中引入變量。 – 2011-05-31 18:29:53