2017-03-17 15 views
0

私は顧客に個人情報を記入することなく顧客が誰であるかを知るためにデータベースに関連するIDを持つ直接リンクを顧客に送信するアンケートを作成しています。行をデータベースで事前に作成していて、質問を記入するために編集する必要があるだけなので、私はそれを編集足場から外しました。フォームが提出された後にASP.NET MVCがアクセスを禁止しました

わかりやすくするため、urlはmydomain.com/controller/action/id - >です。ここで、idはアンケートの回答を保持する行のPKです。

私が直面している問題は、彼らが直接リンクを訪れた場合、彼らが望むだけ何度も調査を編集できることです。私はそれを一度提出したいので、リンクが "調査が既に提出されました"と言うページにつながります

答えて

0

あなたにはいくつかの選択肢があります。調査が提出されていれば、調査を無効にすることが効果的です。私は考えることができる

つの解決策は以下のとおりです。調査はすでに記入されています

  1. 場合、彼らはそれを編集することはできません。
  2. ユーザーに送信前に調査を編集させる場合は、「提出日」の日付フィールドを設定してください。そのフィールドにデータが入力されている場合、調査は完了しており、編集できません。
1

行にブール列を追加し、最初に調査を提出するときにtrueに設定します。測量をロードする方法では、ビューを返す前にこの列の値を確認してください。値がtrueの場合は、別のコントローラアクションにリダイレクトします。これにより、ユーザーは「調査済み」ページに移動します。

関連する問題