代码之家  ›  专栏  ›  技术社区  ›  J.C

我无法读取ASP代码中按下按钮的css ID。网

  •  0
  • J.C  · 技术社区  · 7 年前

    我无法在代码隐藏中读取按下按钮的css ID。

    下面是我为字符串btnCliked=((按钮)sender)创建的方法。身份证件ID是空的我不知道为什么。

        protected void open_contract_click(object sender, EventArgs e)
        {         
            string btnCliked = ((Button)sender).ID;
            foreach (contractStepColumn i_contractColumn in kanban.kanbanBoard)
            {
    
                foreach (contractTask contract_task in i_contractColumn.contractTasks)
                {
                    if (btnCliked == "btnContractPopup" + i_contractColumn.stepColumnName + i_contractColumn.contractTasks.IndexOf(contract_task))
                    {
                        KanbanUI.selectedContractID = contract_task.contract_id;
                        Redirect();
                    }
                }
    
            }
    
        }
    
    }
    

    下面是我的按钮是如何在代码中创建的。

                Button btnMoreDetails = new Button();
                btnMoreDetails.Attributes.Add("class", "btnPopup");
                btnMoreDetails.Attributes.Add("ID", "btnContractPopup" + i_contractColumn.stepColumnName + i_contractColumn.contractTasks.IndexOf(contract_task));
                btnMoreDetails.Text = "Más Detalles";
                btnMoreDetails.Attributes.Add("runat", "server");
                btnMoreDetails.Click += new EventHandler(this.open_contract_click);
                expandPopup.Controls.Add(btnMoreDetails);
    

    任何帮助都是非常宝贵的。

    0 回复  |  直到 7 年前
        1
  •  0
  •   J.C    7 年前

    它不起作用的原因是因为这条线

      btnMoreDetails.Attributes.Add("ID", "btnContractPopup" + i_contractColumn.stepColumnName + i_contractColumn.contractTasks.IndexOf(contract_task));
    

    出于某种原因。net无法读取id,因此我将其更改为

     btnMoreDetails.ID ="btnContractPopup" + i_contractColumn.stepColumnName + i_contractColumn.contractTasks.IndexOf(contract_task);
    

    尽管在这两种情况下,css对我来说似乎完全相同。