在使用Windows Azure的c#中开发Metro应用程序,我有2个问题。 我能够插入一个新项目,但每次运行代码时都会出错:
“发生了'system.nullreferenceexception'类型的异常但未在用户代码中处理。其他信息对象引用未设置为对象的实例。”
Altough我收到错误,该项目保存在Azure中。
TodoItem类:
public class TodoItem
{
public int Id { get; set; }
[DataMember(Name = "Name")]
public string Text { get; set; }
[DataMember(Name = "Private")]
public bool Private { get; set; }
[DataMember(Name = "FirstTeam")]
public string Team1 { get; set; }
[DataMember(Name = "SecondTeam")]
public string Team2 { get; set; }
[DataMember(Name = "FirstBet")]
public int Bet1 { get; set; }
[DataMember(Name = "SecondBet")]
public int Bet2 { get; set; }
[DataMember(Name = "FirstPlayer")]
public string FirstPlayerName { get; set; }
[DataMember(Name = "FirstPlayerBet1")]
public int FirstPlayerPronostiek1 { get; set; }
[DataMember(Name = "FirstPlayerBet2")]
public int FirstPlayerPronostiek2 { get; set; }
}
网主页:
private async void InsertTodoItem(TodoItem todoItem)
{
await todoTable.InsertAsync(todoItem);
items.Add(todoItem);
}
Click_Event:
var todoItem = new TodoItem { Text = TitelName.Text, Team1 = TeamA.Text, Team2 = TeamB.Text, Bet1 = int.Parse(ScoreTeamA.Text), Bet2 = int.Parse(ScoreTeamB.Text) };
InsertTodoItem(todoItem);
我遇到的第二个问题:在我的第二页上,我想更新一个特定的行(将数据添加到其余列)。所以我正在寻找该行的Id并插入数据。但是我的代码不起作用。有什么想法吗?
Click_Event:
var todoItem = new TodoItem {FirstPlayerName = TeamA.Text, FirstPlayerPronostiek1 = int.Parse(ScoreTeamA.Text), FirstPlayerPronostiek2 = int.Parse(ScoreTeamB.Text) };
InsertTodoItem(todoItem);
插入:
private async void InsertTodoItem(TodoItem todoItem)
{
await todoTable.Where(todoItem => todoItem.Id == int.Parse(TeamA.Text)).InsertAsync(todoItem);
items.Add(todoItem);
//TeamA.Text = Id from the row I want to Update
}
答案 0 :(得分:1)
当您有现有项目时,您不想再次插入,而是更新!这是任何数据驱动应用程序中的一般概念。