使用代码后面的Entity数据源中的值(Using value from Entity data source in code behind)

编程入门 行业动态 更新时间:2024-10-24 12:20:36
使用代码后面的Entity数据源中的值(Using value from Entity data source in code behind)

有没有办法获得由实体数据源控制的值之一,并在代码中使用它? 例如,我的实体使用值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(); }

Is there a way to get one of the values given to control by entity data source, and use it in code? For example my entity loads listview with values x, y, z and I want to get only value y for further usage in code.

What i tried to do, was get value directly from a listview item that it loads it to, but somehow it returns empty string, when on view label is loaded with data:

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(); }

最满意答案

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

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”,取自连接到数据库表的实体数据源)。 问题是,我不知道它的存在。

If someone will have the same problem, here is the answer i came up with:

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(); }

The key was DataItem property, it takes values that are loaded to the listview (here value is named "Price" and is taken from entity data source connected to database table). Problem was, i didn't knew of its existence.

更多推荐

本文发布于:2023-08-01 15:59:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1361555.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据源   代码   Entity   code   data

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!