Всплывающая подсказка не отображается в IE 8, Chrome, FF для обновления поля команды gridview, кнопки отмены в ASP.Net - PullRequest
0 голосов
/ 09 сентября 2011

Мое gridview состоит из командного поля со свойством кнопки showit, установленным в true. Все функции работают нормально, за исключением того, что всплывающая подсказка не отображается для автоматически сгенерированных кнопок update и cancel , вместо этого отображает всплывающую подсказку как «edit», которая является всплывающей подсказкой для edit Кнопка . Он правильно отображается в представлении совместимости IE, но не в браузерах IE 8, Chrome или FF !. Я искал в сети, большинство решений предложили использовать поле шаблона вместо поля команды, моя проблема в том, что на данном этапе реализация поля шаблона приведет к большому количеству изменений кода. Пожалуйста, предложите, возможно ли это в самом поле Command! Код дизайна gridview приведен ниже:

<asp:CommandField ButtonType="Image" ShowEditButton="True" ValidationGroup="EditAnswer" CancelImageUrl="../images/Cancel.jpg" CancelText="Click to cancel" UpdateImageUrl="../images/Update.jpg" UpdateText="Click to save this answer" EditImageUrl="../images/Edit.jpg" EditText="Click to edit this answer">              <ControlStyle CssClass="para1" />                                                      <ItemStyle HorizontalAlign="Center" Width="10%" />                             </asp:CommandField>

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

1 Ответ

1 голос
/ 09 сентября 2011

Я реализовал эту функцию, используя само поле команды в событии привязки строки таблицы gridview,

    if (e.Row.RowType == DataControlRowType.DataRow)
    {            
        e.Row.Cells[2].ToolTip = "Click to Edit answer";
        if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState.ToString() == "Alternate, Edit")
        {
            int i = 0;
            foreach (TableCell cell in e.Row.Cells)
            {
                if (e.Row.Cells.GetCellIndex(cell) == 2)
                {
                    ((System.Web.UI.WebControls.ImageButton)(e.Row.Cells[2].Controls[0])).ToolTip = "Click to update answer";
                    ((System.Web.UI.LiteralControl)(e.Row.Cells[2].Controls[1])).Text = "&nbsp;";
                    ((System.Web.UI.WebControls.ImageButton)(e.Row.Cells[2].Controls[2])).ToolTip = "Click to cancel answer";
                }
                i++;
            }
        }
    }

Этот код отлично работает во всех браузерах!

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