Вот мой фрагмент кода ASP.NET.Невозможно наложить объект типа «System.Web.UI.HtmlControls.HtmlForm» на тип «System.Web.UI.WebControls.GridViewRow»
Я пытаюсь выбрать строку GridView и добавить выбранные элементы строки в переменную сеанса.
// ======================== MyGridView ========================
protected void GridView_MyGridView_SelectedIndexChanged(object sender, EventArgs e)
{
// Get Selected Row Items
Items myitems = new Items();
Session["Items"] = myitems;
((Invoices)Session["Items"]).ItemNo = int.Parse(((GridViewRow)(((WebControl)(sender)).Parent.Parent)).Cells[0].Text);
}
Я НЕ хочу использовать кнопку clickable select, которая поставляется с столбцами GridView.
Я обрабатываюсь следующий код:
protected void GridView_MyGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onmouseover"] = "this.style.cursor='pointer';this.style.textDecoration='underline';";
e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';";
e.Row.ToolTip = "Click to Select a Visit.";
e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "SELECT$" + e.Row.RowIndex);
}
}
Теперь, когда я запускаю программу, я получаю следующее сообщение об ошибке, как только GridView выбранных изменения строки:
Невозможно привести объект введите «System.Web.UI.HtmlControls.HtmlForm», чтобы ввести «System.Web.UI.WebControls.GridViewRow».
Оставить отзыв.
Сетка содержит данные. Ваш предлагаемый код работает только в том случае, если я использую столбец select в шаблоне GridView. Что я пытаюсь сделать, так это удалить эту кнопку выбора перед каждой строкой GridView и использовать e.row.Attributes для выбора строки GridView. – CyborgHead
Я пересмотрел свой код, и теперь он работает с использованием вашего предлагаемого кода. – CyborgHead