文字列を作成し、文字列の正しい位置に値(0または1のラジオ・チェック・ボックス)を設定しようとしています。それは文字列を構築し、配列の位置に応じて値を設定しています。指定されたID位置から値を設定する必要があります。 ID位置がaccessID文字列の正しい位置に値を設定します
Response.Write(perm + " - " + Request.Form[perm] + "<br />");
int型に設定されている。この書き込み出力は次のようになります。
access_1 - 0
access_30 - 0
access_6 - 1
access_34 - 0
access_31 - 0
access_37 - 0
access_2 - 0
access_23 - 0
access_28 - 0
access_35 - 0
access_36 - 0
そして
Response.Write(inputPerms + "<br>");
ライトの出力は以下となります。
0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#
access_6は値を持っています私がチェックするテーブルでは1に設定されています3行目のラジオ入力を編集して、文字列の3番目の位置に設定しました。この順序で動作し、私はアクセスIDの位置に従って文字列に設定しようとしています。したがって、access_6は正しい位置に1を設定する必要があります。この場合は6番目の文字列の正しい位置に値を設定する必要があります。 (access_6)6位:出力文字列は、この代わりにする必要があります -
0#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#
希望これは、任意の助けに感謝明らかです。ここでは、コードは次のようになります。
if (Request.Form["updatePerm"] != null && Request.QueryString["action"]=="update")
{
foreach (string perm in Request.Form)
{
string input = perm.Substring(0, perm.IndexOf("_") + 1);
if (input == "access_")
{
string accessRef = perm.Replace("access_", "");
int accessID = Convert.ToInt32(accessRef) + 1;
Response.Write(perm + " - " + Request.Form[perm] + "<br />");
string chkInputs = Request.Form[perm];
inputPerms += !string.IsNullOrWhiteSpace(chkInputs) ? chkInputs + "#" : "";
}
}
Response.Write(inputPerms + "<br>");
}
を[30] ')、設定時にインデクサーとして' accessID'を使います。 'foreach'がいつも順番に値を与えることを知っていれば' List ' –
Enfyve
を使用していただきありがとうございます。私はこれをどのように実装できるのか分かりません。 –