2017-01-10 10 views
0

Я делаю доску и теперь хочу отредактировать элемент, когда установлен флажок.Как предупредить, если флажок установлен в поле флажка C#

Но, как вы знаете, флажок может установить флажок.

В моем правиле я хочу отредактировать только один элемент.

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

Как это сделать? Я не хочу его отключать.

Потому что, когда вы удаляете элемент, я использую множественный выбор флажка.

Мой код ниже.

protected void lnkbtnEdit_Click(object sender, EventArgs e) 
{ 
    string editPageUrl = string.Empty; 
    foreach (GridViewRow gRow in grvList.Rows) 
    { 
     CheckBox chkbox = (CheckBox)gRow.FindControl("chk"); 

     if (chkbox.Checked) 
     { 
      int id = Convert.ToInt32(gRow.Cells[1].Text); 
        editPageUrl = "http://ycchoi/sites/dev/_layouts/15/ListItemControl/EditListItem.aspx?ID=" + id; 
      Response.Redirect(editPageUrl); 
     } 
     else 
     { 
      string message = @" 
       <script type='text/javascript'> 
         alert('Please select item to Edit'); 
       </script>"; 
      ClientScript.RegisterClientScriptBlock(GetType(), "script", message); 
       } 
      } 
     } 
+0

Если вы хотите, чтобы один выбор, а затем использовать «RadioButton». Для этого и предназначены. – CodingYoshi

+0

есть ли другой способ его решить? Я выбираю флажок, потому что, когда я удаляю элементы (для множественного выбора) –

ответ

1

Я бы сохранить переменную вне цикла Еогеасп, сохраняя ID строк, которые проверяются, а затем посмотреть на длину этого списка, чтобы увидеть, если он равен 1, прежде чем разрешить пользователю редактировать Это. Это, как я подошел к ней в подобном интерфейсе (где пользователь может удалить/скрыть/выделить несколько вещей, но только ответить на один в то время.)

List<int> ids = new List<int>(); 
foreach (GridViewRow gRow in grvList.Rows) 
{ 
    CheckBox chkbox = (CheckBox)gRow.FindControl("chk"); 

    if (chkbox.Checked) 
    { 
     int id = Convert.ToInt32(gRow.Cells[1].Text); 
       editPageUrl = "http://ycchoi/sites/dev/_layouts/15/ListItemControl/EditListItem.aspx?ID=" + id; 
     ids.Add(id); 
    } 
} 

if (ids.Count == 1) 
{ 
    // do something with ids[0] 
} 
else 
{ 
    // show error 
} 
+0

Точно то, что я хочу! Спасибо, свобода –

 Смежные вопросы

  • Нет связанных вопросов^_^