radgrid でドラッグの並べ替えを使用しようとしています。私が持っているコードはうまく機能します (RowDrop イベントで発生します) が、クライアントはそれを機能させることができません。ドロップロジックがトリガーされない?!? ここに私のコードがあります:
protected void questionGrid_RowDrop(object sender, GridDragDropEventArgs e)
{
if (e.DestDataItem != null)
{
int tempId = int.Parse(editingId.Value);
theTemplate = ent.SurveyTemplates.Where(i => i.Id == tempId).FirstOrDefault();
int id = int.Parse(e.DraggedItems[0]["Id"].Text);
SurveyQuestion draggedQuestion = ent.SurveyQuestions.Where(i => i.Id == id).FirstOrDefault();
List<SurveyQuestion> tempArray = theTemplate.Questions.OrderBy(i => i.Rank).ToList();
tempArray.Remove(draggedQuestion);
tempArray.Insert(e.DestDataItem.ItemIndex, draggedQuestion);
int j = 0;
foreach (SurveyQuestion sq in tempArray)
{
sq.Rank = j;
j++;
}
ent.SaveChanges();
questionGrid.Rebind();
}
else
{
Exceptions.LogException(new Exception("NULL DEST"));
}
}
ドラッグされたアイテムを参照してアイテムのリストからプルし、新しいインデックスに再挿入してから、各アイテムのランク プロパティを新しいインデックスに更新して保存します。
なぜこれが私にはうまくいくのに、彼にはうまくいかないのでしょうか? このサーバー側のコードは、ブラウザーの違いに悩まされる可能性がありますか?