#c# #sql #asp.net #model-view-controller
#c# #sql #asp.net #model-view-controller
Вопрос:
Вот мой код для обновления строк gridview. Но то, что он делает, показывает это поведение, которое, я думаю, не является тем, что он обычно делает. Пожалуйста, укажите, что я сделал не так.
Это изображение, демонстрирующее то, что происходит.
Код:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
bindgrid();
}
}
private void bindgrid()
{
con.Open();
MySqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from vendor";
MySqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
con.Close();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bindgrid();
}
И это ASPX-код:
<asp:TemplateField>
<ItemTemplate>
<asp:Button Text="Edit Element" CssClass="btn btn-success fa fa-edit" ID="Editbutton" runat="server" CommandName="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:Button Text="Update" CssClass="btn btn-success fa fa-edit" ID="updatebutton" runat="server" CommandName="Update" />
<asp:Button Text="Cancel" CssClass="btn btn-warning fa fa-close" ID="cancelbutton" runat="server" CommandName="Cancel" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Vendor ID">
<ItemTemplate>
<asp:Label ID="idlbl" runat="server" Text='<%# Eval("v_id")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="idtext" runat="server" Text='<%# Eval("v_id")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Vendor Name">
<ItemTemplate>
<asp:Label ID="namelbl" runat="server" Text='<%# Eval("v_name")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="nametext" runat="server" Text='<%# Eval("v_name")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
Комментарии:
1. Должен ли я добавить aspx тоже?
2. На самом деле вы использовали событие редактирования строки gridview, поэтому из-за этого его функциональность просмотра сетки при нажатии на Редактировать изменит метку на текстовое поле и добавит кнопку Обновления и отмены
3. Теперь я получаю эту ошибку. Ссылка на объект не установлена для экземпляра объекта.
4. Есть ли у вас событие Row_Updating?
5. да, я добавил событие обновления.