私は自分のページのクライアント側でテキストボックスを作成しています..
var _text = document.createElement("input");
_text.setAttribute("type", "text");
_text.setAttribute("id", "txtAsName" + num);
_text.setAttribute("name", "txtAsName" + num);
サーバー側のコードでは、フォーム上の任意のテキスト ボックスの ID を取得します (txtAsName1、txtAsName2、txtAsName3 を追加してから、すべてのクライアント側で txtAsName2 を削除することができるため、ポストバック中にフォームの左側にあるテキスト ボックスを取得することが重要です)。
これを使用して、サーバー側の残りのテキストボックスのIDを取得しています:
string[] allFormKeys = Request.Form.AllKeys;
foreach (string key in allFormKeys)
{
Response.Write("Key Name: " +key + "<br/>");
if (key.StartsWith("txtAsName"))
{
txtBoxes.Add(key);
}
}
Firefox では問題なく動作しますが、IE8 では Request.Form.AllKeys はテキストボックスを返しません! これは Response.Write で確認でき、Firefox ではテキスト ボックスを取得します。
HTMLに2つのフォームタグがあるかどうかを確認しましたが、そうではありません