LinkButton
動的にロードしてポストバック イベントを発生させようとしていますが、これを処理します。
Command
私は, CommandName
and - にまたがっており、CommandArgument
これは本当に便利に見えました..だから私はそれをいじり始めましたが、現在、希望どおりに作業することができません。
リンクは、その場で作成されるテーブル内にレンダリングされます。リンクを生成するコードは次のとおりです。
// The links are stored in Session since I was told that the objects need to remain intact across requests.
LinkButton GetEditCardLink(string card)
{
if (!IsPostBack)
{
TW("Creating Link for Card '" + card + "' and Placing in Session.", true);
LinkButton link = CreateEditLink(card);
Business.Session.Set<LinkButton>("LinkedCards_EditLink_" + card, link);
}
return Business.Session.Get<LinkButton>("LinkedCards_EditLink_" + card);
}
// Here the link itself is created, note the ID and Command details are set.
LinkButton CreateEditLink(string forCard)
{
TW("Setting Up Link for Card: " + forCard, true);
LinkButton rtn = new LinkButton();
rtn.ID = "Edit_" + forCard;
rtn.Text = Resources.Header("EditDetails");
rtn.CommandName = "Edit";
rtn.CommandArgument = forCard;
rtn.Command += new CommandEventHandler(RedirectToEdit);
rtn.Attributes["style"] = "display: block; text-align:center;";
return rtn;
}
// ... And the delegate I want called on PostBack..
void RedirectToEdit(object sender, CommandEventArgs e)
{
TW("RedirectToEdit Called:\r\nName: " + e.CommandName + "\r\nArgument: " + e.CommandArgument);
}
トレースは、LinkButtons が正しく読み込まれており、一度しか作成されていないことを確認しているため、理論的には問題ないはずですが、リンクをクリックすると PostBack が実行されますが、RedirectToEdit
メソッドは呼び出されませんか?
すべての助けに感謝します!:)
ノート
ああ、私が言及すべきだと思ったのは、 :)TW
の単なるユーティリティメソッドですTrace.Write/Warn