シンプルなaspxページで、コードがデフォルトの "Default"になっています。コードビハインドには一連の簡単なメソッドがあります。json仕様のasp.net gridview要素を更新してください。
私が探しているのは、OnGridViewChange()メソッドを作成することです。下のモックアップを参照してください。これは、ユーザーがgridviewの行を変更するたびに呼び出されます。行は行のローカルリストを更新し、オブジェクトに変換してユーザーに表示されるjson文字列に変換します。
本質的に私が構築しているのは、json文字列を取り、テーブルとして表示してから、ユーザーの変更に関するjsonとテーブルを更新するasp.net Webフォームのglorified jsonビューアです。
私は、私は以下の通り主要な方法のほとんどを持っていると思うが、私は助けが必要ことにonUpdate方法であり、
public partial class _Default : Page
{
public class FoobarRow
{
public string Name { get; set; }
public int NumberOfHats { get; set; }
}
public List<FoobarRow> FoobarRows { get; set; }= new List<FoobarRow>();
/// <summary>
/// Vera important json formatted string. Gets updated when gridview changes
/// </summary>
public string Json { get; set; }
/// <summary>
/// Updates gridview on the page from the json entered by the user on a previous page
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
FoobarRows = JsonConvert.DeserializeObject<List<FoobarRow>>(GetJsonFromUserWhenPageLoads());
UpdateGridviewFromList();
}
/// <summary>
/// Actually updates the gridview from the list of FoobarRows
/// </summary>
private void UpdateGridviewFromList()
{
ApplicationGridView.DataSource = FoobarRows;
ApplicationGridView.DataBind();
}
/// <summary>
/// Is called whenever user edits any row in the gridview and saves the changes. Updates the json and the local list of rows
/// </summary>
/// <param name="rows"></param>
public void OnGridViewChange(List<FoobarRow> rows)
{
FoobarRows = rows;
DisplayCurrentJsonOnPageForUser(JsonConvert.SerializeObject(rows));
UpdateGridviewFromList();
}
public string GetJsonFromUserWhenPageLoads()
{
//Finish later
return "some json the user will have entered on a previous page and will be loaded into a label or something of the like";
}
public void DisplayCurrentJsonOnPageForUser(string json)
{
//Finish later
}
}
は周りを見回した、私はASPXのGridViewのについてマイクロソフトhttps://msdn.microsoft.com/en-us/library/ms972948.aspx?f=255&MSPPError=-2147217396からこの文書を見つけましたが、私のユースケースにとっては、不必要に複雑に思えます。
誰かが、OnGridViewChange()などの単純なイベントに変更を結びつけることができるwebformsやその他のasp.net要素のDataGridプラグインを知っていますか?私はウェブフォームには新しく、上記のマイクロソフトの記事は私が見つけた最高のものですが、より良い方法が必要であると感じています!