将datalist eval存储到变量中

时间:2011-05-31 18:21:29

标签: c# .net asp.net

有没有办法从DataList存储字段?

string year = Eval("date");

我想对字符串年进行操作,如果可能,需要将其存储在变量中!

2 个答案:

答案 0 :(得分:2)

如果你正在使用Eval,我猜你在数据绑定表达式中做了什么工作?如果是这样,那通常是对数据进行任何实际后处理的错误位置,但是如果你必须这样做,你应该能够如此明确地进行投射:

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

或者,如果变量本身不是字符串类型,

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 :(得分: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
   }
}