Добавить несколько CommandArguments для кнопки программно

Я получил некоторый код для создания новых кнопок программно.

foreach (DataRow dtRow in dtTable.Rows)
{
    string question_id = Convert.ToString(dtRow["QUESTION_ID"]);
    string question_text = Convert.ToString(dtRow["QUESTION_TEXT"]);
    var btn_system = new Button
    {
        ID = "btn_question" + question_id,
        Text = question_text,
        CssClass = "quest_buttons"
    };
    btn_system.Command += ButtonClick_Parent;
    btn_system.CommandArgument = Convert.ToString(question_id);
}

Теперь я хотел бы добавить несколько CommandArgument в строке 12 моего фрагмента кода. Как я могу сделать это из кода?

Заранее спасибо!

1 ответ

Решение

Вам нужно передать несколько аргументов в виде строки, разделяющей некоторый символ, а в обработчике события вам нужно проанализировать их. Я показал здесь, используя запятую

btn_system.CommandArgument = "argument1,argument2,argument2,...";

затем получите это, используя код ниже

protected void ButtonClick_Parent(object sender, EventArgs e)
{
    Button button = (Button)sender;
    string[] commandArgs = button.CommandArgument.ToString().Split(',');
}
Другие вопросы по тегам