【问题标题】:Update asp.net gridview element from json specification从 json 规范更新 asp.net gridview 元素
【发布时间】:2017-10-06 10:58:54
【问题描述】:

我有一个简单的 aspx 页面“默认”,后面有代码。后面的代码有一组简单的方法。

我要做的是创建一个方法 OnGridViewChange() - 请参阅下面的模型 - 每当用户更改网格视图中的一行时都会调用该方法。该行更新本地行列表,然后将对象转换为显示给用户的 json 字符串。

本质上,我正在构建的是一个在 asp.net 网络表单中美化的 json 查看器,它采用 json 字符串,将其显示为表格,然后根据用户更改更新 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
    }
}

环顾四周,我发现了来自 Microsoft https://msdn.microsoft.com/en-us/library/ms972948.aspx?f=255&MSPPError=-2147217396 的关于 aspx gridview 的文档,但对于我的用例来说,它似乎不必要地复杂。

有谁知道任何用于 webforms 或其他 asp.net 元素的数据网格插件,它们可以让我将更改绑定到一个简单的事件,例如 OnGridViewChange()。我是网络表单的新手,上面提到的来自 Microsoft 的文章是我能找到的最好的文章,但我觉得一定有更好的方法!

【问题讨论】:

    标签: c# asp.net json gridview webforms


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多