我有以下代码:
var data = (sender as Button).DataContext as Web.Booking;
EntityQuery<Web.Ticket> ticketQuery =
from t in _ticketContext.GetTicketsQuery()
where t.ticketId == data.ticketId
select t;
LoadOperation<Web.Ticket> loadTicket = this._ticketContext.Load(ticketQuery);
loadTicket.Completed += (s, args) => { MessageBox.Show("Loaded Tickets!"); };
ticketDomainDataSource.DataContext = loadTicket.AllEntities;
var ticketData = ticketDomainDataSource.DataContext as Web.Ticket;
string ticketName = ticketData.ticketName;
我遇到的主要代码是:
var ticketData = ticketDomainDataSource.DataContext as Web.Ticket;
string ticketName = ticketData.ticketName;
它返回错误:
对象引用未设置为 对象的实例。
任何人都可以帮助我解决我在这里做错的事情,我无法弄清楚什么是空的以及我如何能够返回正确的数据。
由于
答案 0 :(得分:0)
您的问题可能是无法将DataContext强制转换为Web.Ticket。如果查看C#的文档 - as
在转换失败时返回null。见 - http://msdn.microsoft.com/en-us/library/cscsdfbt%28v=vs.71%29.aspx
如果您将代码行更改为
var ticketData = (Web.Ticket) ticketDomainDataSource.DataContext;
你应该得到一个更好的演员错误。