ページにデータの「クローン」を作成しようとしました。要約すると、私は顧客作成ジョブ画面と別個の顧客管理ジョブ画面を持っています。これらはどちらもうまく動作します。既存の顧客ジョブデータを「複製」して、新しい類似のジョブセットを作成する必要があります。私の管理画面には、クローンボタンがあります。これは、元のデータであらかじめ設定されたデータから、1つまたは2つの関連する特定の情報を除いた、「作成」ページに移動します。職種名。新しいビューにデータを読み込もうとしています
私の問題は、ビューモデルで新しいデータを使用して作成ページにリダイレクトする投稿を取得できないようです。これによりデータが保存されるため、送信アクションを実行できません。クローン作成中のデータは、管理画面と作成画面の間で保持されません。私CSHTMLで
::私はでてるのはここ
がある
function CloneJob(jobId) {
$.post('CloneJob', { JobId: jobId }, function (data) {
window.document(data);
});
:
<button type="button" name="btnClone" value="btnClone" id="btnClone" formaction="CloneJob" class="btn btn-primary" style="width: 150px;">Clone</button>
これは、この機能をオフに発射現在のジョブIDをつかむためにクリックイベントをオフに発射
}
私のコントローラでは、私はこれを持っています:
[HttpPost]
public ActionResult CloneJob(Guid jobId) {
// logic which wipes off the old data job from the view model
// eg names, ids, etc. but leaves the actual job details intact
return View("CreateJob", manageJobViewModel);
これから、IE/Chromeデバッグネットワークセクションで返されるHTMLが表示されますが、データが格納されたCreateJobビューには移動しません。
私には何が欠けていますか?
コントローラでは、完全に入力されたJobViewModelがあると思われるコメントが表示されますが、そうではありません。コントローラは、要求の間に状態情報を保持するようにプログラムしないかぎり、状態情報を保持しません。あなたが渡すjobIdを使って、データベースからJobModelViewを作成するだけで済むと思います。 –
私が残したロジックは実際にJobViewModelに取り込まれます。私はちょうどセッションビューモデルをつかんで、それをきれいにして、私は自分のCreateJobs画面に戻したいmanageJobViewModelとして終わります。私はこのロジックが動作するのはうれしく、デバッグするときにそうなるはずです。 – JonSick
'return view'の前にデバッガにJobViewModelが表示されていれば、それは*働くはずです。前に 'window.document(...)'構文を見たことがありません。私は一般的に 'window.document.body.innerHtml ='だが、bodyタグの内側にあるページの部分だけを読み込むだろう。 Fiddler Webデバッガを使用して、ブラウザに正確に何が送信されているかを確認することができます。 –