Событие редактирования / обновления GridView НЕ запускается после 1 клика - PullRequest
2 голосов
/ 24 марта 2011

У меня есть GridView, в котором есть обычная кнопка «Изменить / Обновить».Тем не менее, мой GV RowUpdating, RowEditing & RowCancelingEdit работает с 2 кликами.Если я нажимаю на него один раз, он не работает: (

Вот код, где я заполняю все:

public partial class Testing : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
         string getEntity = Request.QueryString["EntityID"];
         int getIntEntity = Int16.Parse(getEntity);
         using (OISLinq2SqlVs1DataContext dt = new OISLinq2SqlVs1DataContext())
         {
             var tr = from r in dt.Users
                      join s in dt.Entities on r.Entity_ID equals s.ID
                      where s.ID == getIntEntity
                      select new
                      {
                          s.Name,
                          r.FirstName,
                          r.LastName,
                          s.Email,
                          //r.Email,
                          r.UserID,
                          r.Pwd,
                          s.Company,
                          s.Description,
                          s.Phone,
                          s.Fax,
                          s.WebSite

                      };

             gvShowRegistration.DataSource = tr;
             gvShowRegistration.DataBind();
         }
    }

    protected void gvShowRegistration_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        OISLinq2SqlVs1DataContext dt = new OISLinq2SqlVs1DataContext();
    }

    protected void gvShowRegistration_RowEditing(object sender, GridViewEditEventArgs e)
    {
        gvShowRegistration.EditIndex = e.NewEditIndex;
    }

    protected void gvShowRegistration_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        gvShowRegistration.EditIndex = -1;
    }

Это весь мой код в коде позади.здесь не так?

Обновление:

Вот мой GridView:

<asp:GridView ID="gvShowRegistration" runat="server" 
     Height="204px" Width="678px" 
    OnRowEditing = "gvShowRegistration_RowEditing" 
    OnRowUpdating = "gvShowRegistration_RowUpdating" 
    OnRowCancelingEdit = "gvShowRegistration_RowCancelingEdit" CssClass="menu">
    <Columns>
    <asp:CommandField HeaderText="Edit" ShowEditButton="True" ShowHeader="True" ShowSelectButton="True" />

    </Columns>
 </asp:GridView>

Ответы [ 2 ]

4 голосов
/ 25 марта 2011

Свяжите свой GV, только если это не постбэк.

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack){
        //You GV Databinding code
    }
}
1 голос
/ 05 ноября 2011

Отключите для свойства Linkbutton CAUSEVALIDATION значение false, так как оно прекратит запускать событие page_load до тех пор, пока валидаторы не будут проверены, ни одно событие не будет запущено, поэтому это сделано.

Но есть много случаев, когда мы должны установить CAUSE VALIDATION в значение true, а также обновлять, но в таком случае это невозможно, используйте JAVA SCRIPT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...