Всем Привет!
При запуске пишет
Сообщение об ошибке компилятора: CS0123: Ни одна перегрузка для 'gridLinkList_LinkClicked' не соответствует делегированному
Как это победить.
Пишу для обучения это собственно пользовательский контрол который я использую.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
namespace WebApplication1
{
public class LinkTableItem
{
private string text;
public string Text
{
get { return text; }
set { text = value; }
}
private string url;
public string Url
{
get { return url; }
set { url = value; }
}
// Конструктор по умолчанию.
public LinkTableItem()
{ }
public LinkTableItem(string text, string url)
{
this.text = text;
this.url = url;
}
}
//делегат ссылка но обработчик события
public delegate void LinkClickedEventHandler(object sender, LinkTableEventArgs e);
// public eve
//обработчик события возвращает выбранный элемент
public class LinkTableEventArgs : EventArgs
{
private LinkTableItem selectedItem;
public LinkTableItem SelectedItem
{
get { return selectedItem; }
}
private bool cancel = false;
public bool Cancel
{
get { return cancel; }
set { cancel = value; }
}
public LinkTableEventArgs(LinkTableItem item)
{
selectedItem = item;
}
}
public partial class control : System.Web.UI.UserControl
{
//public event LinkClickedEventHandler LinkClicked;
//заголовок подпись
public string Title
{
get { return lblTitle.Text; }
set { lblTitle.Text = value; }
}
private LinkTableItem[] items;
//ддобавление элементов
public LinkTableItem[] Items
{
get { return items; }
set
{
items = value;
// Обновляем сетку.
gridLinkList.DataSource = items;
gridLinkList.DataBind();
}
}
protected void gridLinkList_ItemCommand(object source, GridViewCommandEventArgs e)
{
// Прежде чем генерировать событие, убедитесь в том, что существует
// хотя бы один зарегистрированный обработчик события.
// if (LinkClicked !=null)
//{
// Получаем объект LinkButton, на котором был произведен щелчок.
LinkButton link = (LinkButton)e.CommandSource;
// Создаем аргументы события.
LinkTableItem item = new LinkTableItem(link.Text, link.CommandArgument);
LinkTableEventArgs args = new LinkTableEventArgs(item);
// Генерируем событие.
gridLinkList_LinkClicked(this, args);
// Переходим по ссылке, если получатель события не отменил операцию.
if (!args.Cancel)
{
Response.Redirect(item.Url);
}
//}
}
protected void gridLinkList_LinkClicked(object sender, LinkTableEventArgs e)
{
lblInfo.Text = "You clicked '" + e.SelectedItem.Text +
"' but this page chose not to direct you to '" +
e.SelectedItem.Url + "'.";
e.Cancel = true;
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="control.ascx.cs" Inherits="WebApplication1.control" %>
<table border="1" cellpadding="2">
<tr>
<td>
<asp:Label id="lblTitle" runat="server" ForeColor="#C00000"
Font-Bold="True" Font-Names="Verdana" Font-Size="Small" > </asp:Label>
</td>
</tr>
<tr>
<td>
<asp:GridView id="gridLinkList" runat="server" AutoGenerateColumns="false" ShowHeader="false" GridLines="None" Width="448px" OnRowCommand="gridLinkList_LinkClicked">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton id="lnk" CommandArgument = '<%# DataBinder.Eval(Container.DataItem, "Url") %>'
Font-Names="Verdana" Font-Size="XX-Small" ForeColor="#0000cd" Text='<%# DataBinder.Eval(Container.DataItem, "Text") %>'
runat="server" CommandName="LinckClicked" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID = "lblInfo" runat = "server"> </asp:Label>
</td>
</tr>
</table>