在后面的代码中使用Entity数据源中的值

时间:2017-07-13 09:53:24

标签: c# asp.net entity-framework

有没有办法让实体数据源控制其中一个值,并在代码中使用它?例如,我的实体使用值x,y,z加载listview,我希望只获得值y以便在代码中进一步使用。

我试图做的是直接从它加载它的listview项获取值,但是当在视图标签上加载数据时,它会以某种方式返回空字符串:

            foreach (ListViewItem item in Auction.Items)
        {

            var PriceName = item.FindControl("PriceName") as Label;
            string pln = PriceName.Text; //Here it returns empty string
            var EurName = e.Item.FindControl("EurName") as Label;
            Repositories.ICurrencyRepository repo = new Repositories.ICurrencyRepository();
            decimal eur = Math.Ceiling(repo.CurrencyExchange(Convert.ToDecimal(pln), "PLN", "EUR") * 100) / 100;
            EurName.Text = eur.ToString();
        }

1 个答案:

答案 0 :(得分:1)

如果有人遇到同样的问题,我想出的答案就是:

        protected void Auction_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        ListViewDataItem dataitem = (ListViewDataItem)e.Item;
        decimal pln = Convert.ToDecimal(DataBinder.Eval(e.Item.DataItem, "Price"));
        Repositories.ICurrencyRepository repo = new Repositories.ICurrencyRepository();
        decimal eur = Math.Ceiling(repo.CurrencyExchange(pln, "PLN", "EUR") * 100) / 100;
        var EurName = e.Item.FindControl("EurName") as Label;
        EurName.Text = eur.ToString();
    }

密钥是DataItem属性,它接受加载到listview的值(此处值名为“Price”,取自连接到数据库表的实体数据源)。问题是,我不知道它的存在。