动态链接按钮在点击时没有做任何事情

时间:2010-09-14 14:19:23

标签: c# asp.net

我正在尝试用一些代码解决问题(不是我写的)

                    lnkbtnPageNumber.ID = "PageNumberCustomerRef" + intPageNumber.ToString();
                    lnkbtnPageNumber.Command += new CommandEventHandler(lnkbtnPageNumber_Command);
                    lnkbtnPageNumber.CommandName = "DepotRef";
                    lnkbtnPageNumber.CommandArgument = intPageNumber.ToString();
                    lnkbtnPageNumber.Text = intPageNumber.ToString().PadLeft(3, '0');
                    lnkbtnPageNumber.Attributes.Add("style", "margin: 2px;");
                    pDepotRefPages.Controls.Add(lnkbtnPageNumber);

此代码会创建一个链接按钮,但是当我单击页面上的按钮时。函数lnkbtnPageNumber_Command未被调用。脚本没有达到它。

我已经尝试了谷歌,但我看到的任何地方都说这段代码应该可以正常工作。

以下是函数调用的代码:

void lnkbtnPageNumber_Command(object sender, CommandEventArgs e)
{
    try
    {
        switch (e.CommandName)
        {
            case "GlobalID":
                gintDocketNumberPage = Convert.ToInt32(e.CommandArgument);
                break;
            case "CreatedDate":
                gintCreationDatePage = Convert.ToInt32(e.CommandArgument);
                break;
            case "Accounts":
                gintAccountPage = Convert.ToInt32(e.CommandArgument);
                break;
            case "CustomerRef":
                gintCustomerRef = Convert.ToInt32(e.CommandArgument);
                break;
            case "DepotRef":
                gintDepotRef = Convert.ToInt32(e.CommandArgument);
                break;
            default:
                gintDocketNumberPage = Convert.ToInt32(e.CommandArgument);
                break;
        }

我真的很难过!如果我遗漏了任何东西,请告诉我。

感谢您提供的任何帮助!

我刚刚读到某个地方,除非从Page_Init调用,否则此代码将无法工作,如果true为a但是很痛苦我不能将此函数放在Page_Init ...

2 个答案:

答案 0 :(得分:1)

这个lnkbtnPageNumber在gridView寻呼机中的位置是什么? 如果是这样,它是在每次回发时重新生成还是添加了f.e.在RowDataBound? 在这种情况下最好的位置是RowCreated,因为它将在每次回发时被调用,并且必须在回发时重新创建所有动态控件(及其事件)。

答案 1 :(得分:0)

有三种可能性:

  1. 您必须在Init事件上创建动态控件并添加它们 到父控制。
  2. 您将在每个页面加载中重新创建控件。
  3. 如果您已完成此操作并仍然收到错误,请检查您动态添加的每个控件的ID以及它们的父控件。确保不存在特殊字母。确保ID值是唯一的。你没事。