0

正しく機能していないひどく書かれたASP.NETコードがあります(図を参照)。私はこのコードの保守とバグ修正を担当していますが、頭や高水位にすることはほとんどできません

残念ながら、書き直す時間がありません。

誰かがこれを助けることができればこれは素晴らしいでしょう:

(コード):ここであなたに与えられます(必要な最小限の難読化): http://mastergeektheater.com/issues.txt

想定される内容: ショッピングカートアプリケーションから注文を受け取り、注文されたオブジェクトの数量に基づいてテキストボックスのテーブルを作成します。全体が検証されると(submit_Click())、詳細な手順が記載されたdivが表示され、入力フィールドがグレー表示されるため、入力内容を確認できますが、影響はありません。入力した各メールアドレスにメールが送信されます。

実際の動作: 注文を受け取り、入力を正しく表示します。送信時に、すべての「必要なフィールドバリデーターが起動します。それらがVaildの場合、比較バリデーターが起動します。ここのどこかで、すべてが南に移動します。」

最初のユーザーを除く、テーブル内のすべての入力領域が消えます。比較が成功すると、ポストバックされ、最初のユーザーがそこにいて(グレー表示)、他のユーザーは消えます。比較が失敗した場合、ポストバックは正常に行われず、入力フォームに残りますが、最初のユーザーを除くすべての入力フィールドは表示されません。

これは少し具体的すぎて、本当に整形式のStack Overflowの質問にはなりませんが、間違っていると思うものに分解して、修正するためにさらに具体的な質問をしました。残念ながら、それは機能していません。コードは良くなりましたが、まだ全体が壊れています。この時点で私は必死です。

誰かが助けることができれば、それは大きな命の恩人になるでしょう。このひどいコード(そしてひどい質問)を1分でも注いでくれたすべての人に事前に感謝します...

4

1 に答える 1

0

問題はこの行が原因である可能性があると思います。

Session["quantity"] =(null != Request["quantity1"]) ? Request["quantity1"].ToString() : "1";

フォームに quantity1 という名前のフィールド (非表示/入力) がありますか?
クエリ文字列に渡されていますか、それともフォーム アイテム コレクションの一部として渡されていますか?

それは 1 になります (フォームがそれ自体に投稿するとき) & したがって、ループは 1 回だけ実行されます。

于 2009-03-27T23:01:49.287 に答える