J'ai des cases à cocher avec un identifiant unique. Est-il possible de trouver toutes les cases à cocher + Uniquenum dans une collection de formulaire?
quelque chose comme - p>
5 Réponses :
Non.
Au lieu de cela, vous pouvez faire boucler toutes les touches et vérifier si elles commencent avec Par exemple: P> Cochez la case code>. p> foreach(string key in Request.Form) {
if (!key.StartsWith("checkbox")) continue;
...
}
Pas par moi ... c'était parfait! Merci!
ou quelque chose comme ça
Vous devriez être capable de le faire avec Linq (cela devrait fonctionner, n'a pas été testé): Je suppose aussi que l'ID des cases à cocher est "Cochez la case [ID]". BTW, les identifiants en double dans les champs de formulaire sont mauvais mauvais mauvais.
var checkboxes = (from key in Request.Form.AllKeys where key = "checkbox" + UniqueIDNum)
foreach(string key in checkboxes)
{
//do stuff
}
C'est inutilement lent. ALLKEYS CODE> copie un tableau.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection fc)
{
string a = fc["hdn_1"].ToString(); // if you know for sure that it will have a value.
string lbl_1 = null;
foreach (var key in fc.AllKeys)
{
if (key.Contains("txt_1"))
{
lbl_1 = fc["txt_1"].ToString();
}
}
}
Hope this helps.
Je devais faire cela dans vb.net, après avoir travaillé avec vb.net en années et même pour ne pas avoir travaillé avec beaucoup, et j'ai utilisé la réponse de Josh Wolf pour obtenir ce qui suit:
Dim checkedOrders As IEnumerable(Of String) = From key In Request.Form.AllKeys Where key.StartsWith("chk")
If checkedOrders.Count > 0 Then
' do stuff, loop through checkedOrders, etc
End If