Ошибка при получении данных, введенных пользователем в столбец шаблона текстового поля asp.net. - PullRequest
0 голосов
/ 12 сентября 2018

На моей странице asp: GridView определено следующим образом:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ViewStateMode="Enabled" >
    <Columns>
        <asp:BoundField DataField="ArtikelID" HeaderText="ID" ReadOnly="True" Visible="False"/>
        <asp:BoundField DataField="Kategorie" HeaderText="Kategorie" ReadOnly="True" />
        <asp:TemplateField HeaderText="Bezeichnung">
            <ItemTemplate>
                <asp:TextBox ID="txt_col_bezeichnung" runat="server" Text='<%# Bind("Bezeichnung") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Anzahl">
            <ItemTemplate>
                <asp:TextBox ID="txt_col_Anzahl" runat="server" Text='<%# Bind("Anzahl") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="E-Preis">
            <ItemTemplate>
                <asp:TextBox ID="txt_col_einzelpreis" runat="server" Text='<%# Bind("Einzelpreis", "C") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Kostenart">
            <ItemTemplate>
                <asp:TextBox ID="txt_col_kostenart" runat="server" Text='<%# Bind("Kostenart") %>' Enabled="false"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Kostenstelle">
            <ItemTemplate>
                <asp:TextBox ID="txt_col_kostenstelle" runat="server" Text='<%# Bind("Kostenstelle") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Во время события Page_Load (если это не обратная передача) я установил для dataSource список объектов, который создается динамически в зависимости от различных факторов.

Данные отображаются нормально, как показано здесь: displayed grid in browser

Пользователь может вводить данные в любое текстовое поле, которое включено / не доступно только для чтения. После этого нажимается кнопка для отправки изменений. Как я могу получить измененные данные после обратной передачи? Следующее явно не работает:

protected void Page_Load(object sender, EventArgs e)
{
    if(this.IsPostBack)
    {
        var items = this.GridView1.DataSource as List<Bestellartikel>;
    }
    else
    {
        this.GridView1.DataSource = GetListOfBestellartikel();
        this.GridView1.DataBind();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...