как получить событие нажатия кнопки в gridview - PullRequest
1 голос
/ 16 февраля 2010

Я работаю над приложением, в котором мне нужно получить событие нажатия кнопки в gridview. Я не получаю его в строке команды может быть потому, что я добавляю его динамически следующим образом:

protected void gviewTemplate_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.Cells[1].Text != e.Row.Cells[2].Text)
        {
            e.Row.BackColor = System.Drawing.Color.Red;
            LinkButton lbtnReload = new LinkButton();
            lbtnReload.CommandArgument = e.Row.Cells[12].Text;
            lbtnReload.Attributes.Add("onclick", "javascript:ShowDiv()");
            lbtnReload.CommandName = "reload";
            lbtnReload.Text = "Reload";
            e.Row.Cells[1].Controls.Add(lbtnReload);

            DataTable dt = (DataTable)ViewState["update"];
            DataRow dr = dt.NewRow();
            dr["id"] = e.Row.Cells[0].ToString();
            dr["image"] = e.Row.Cells[1].ToString();
            dt.Rows.Add(dr);
        }
    }
}

protected void gviewTemplate_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "reload") 
    { 
        hdnfield.value = int.Parse(e.CommandArgument.ToString()); 
    } 

    btnFuImage.Visible = true; fuploadImage.Visible = true; 
} 

Я удалил его в gridview следующим образом

<asp:BoundField ItemStyle-Width="100" DataField="Uploded" HeaderText="Uploaded Image" >  

Мне нужно получить значения из первого столбца этой сетки и обновить ее до некоторой скрытой переменной, чтобы я мог использовать ее позже. Как я это сделаю Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 16 февраля 2010

Если вы просто пытаетесь захватить одно значение и сохранить его в HiddenField для дальнейшего использования, почему бы вам просто не поместить это значение в функцию javascript и поместить его в HiddenField оттуда

lbtnReload.Attributes.Add("onclick", "javascript:ShowDiv(); SaveValue('" + value + "'); return false;);

Это избавит вас от необходимости заходить на сервер, который будет намного быстрее

Кроме того, почему бы вам просто не использовать TemplateField и сделать там кнопку, вам будет проще контролировать все через это

0 голосов
/ 16 февраля 2010

Для кнопки используйте ButtonField и укажите имя команды, которое вызовет событие rowcommand. BoundField не отображает кнопку. Если вы хотите нажать на ограниченное поле, это более специализированная установка ...

Что вы пытаетесь использовать в качестве клика?

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