インターフェイスを使い始めたのですが、よくわかりません...状況は次のとおりです。リピーターを使用してアイテムのテーブルを表示する Web コントロール (TableControl と呼ばれる) があります。TableControl には、ページングを実装するカーソルの行 (最初、前、次、最後) も含まれています。カーソルは、別の webControl (CursorControl) からインポートされます。TableControl は、ページングを行うメソッドを宣言するインターフェイスも実装します。
*) カーソルコントロール
public class CursorControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
private string cursor_value;
public string CursorValue
{
get { return cursor_value; }
set { cursor_value = value; }
}
// Called when cursor is clicked.
protected void lnkClick_Command(object sender, CommandEventArgs e)
{
cursor_value = e.CommandArgument.ToString();
}
}
*) テーブルコントロール
public partial class TableControl : System.Web.UI.UserControl, IPageableControl
{
protected void Page_Load(object sender, EventArgs e)
{
if(isPostBack)
{
currentPage = CursorControl.CursorValue;
OtherPage(currentPage);
}
}
public int currentPage;
void IPageableControl.OtherPage(int i)
{
if (i == 0)
currentPage = 2;
else if (i == 1 || i == (-1))
currentPage += i;
else
currentPage = 25;
}
}
*) インターフェース
public interface IPageableControl
{
// Summary:
// Go to page
void OtherPage(int i);
}
ユーザーがカーソルをクリックすると、値が TableControl に渡され、メソッド OtherPage が開始されます。しかし、それは機能しません。OtherPage は現在のコンテキストにないと言われています。
インターフェイスのメソッドにアクセスするにはどうすればよいですか??