我需要實施以下解決方案:
用戶在繪圖記錄表單中。用戶在圖紙記錄表單中點擊“分配專案”按鈕,只要輸入了所有需要的值,就會保存圖紙記錄。用戶被帶到一個新表單,用戶可以在該表單中搜索Projects表中的專案。
每個專案記錄旁邊都有一個“分配”按鈕。當用戶單擊“分配”按鈕時,專案被添加/分配到圖形中,這會在ProjectDrawings多對多表中創建一個條目。需要傳遞兩個引數:GUID 型別的DrawingId和ProjectId。
有什么想法可以讓我開始?目前,繪圖記錄表使用的是DrawingViewModel. 專案記錄表使用ProjectViewModel. 我相信對于這個解決方案,我需要創建一個結合繪圖和專案屬性的新模型/視圖模型。對于搜索表,我想使用 DataTable。
uj5u.com熱心網友回復:
首先確保您的物體之間的關系是多對多,因為在我看來,從邏輯上講,一張圖紙只能分配給一個專案,而一個專案可以包含許多圖紙,這意味著圖紙表將專案表 ID 作為外鍵。如果我錯了,請糾正我。
uj5u.com熱心網友回復:
我使用以下 URL 資源來實作我的解決方案:如何將值從一個動作傳遞到具有相同控制器的另一個動作
除了使用 TempData,該解決方案還包括以下內容:
- 在繪圖表單中,添加一個名為“AssignProject”的提交輸入型別。
- 在繪圖控制器中,在 Create/Edit HttpPost 操作中添加“AssignProject”作為字串引數。如果“Assignproject”!= null,則重定向到繪圖控制器中名為“AssignProject”的操作,并將 DrawingId 作為引數傳遞。
- “AssignProject”操作顯示一個使用 Project ViewModel 的串列視圖。它使用 DataTable 來顯示和過濾專案記錄。每個專案記錄旁邊都有一個名為“Assign”的 RenderLinkAsButton。
- 單擊“分配”按鈕時,Url.Action 是繪圖控制器中的“AssignToDrawing”操作,將 ProjectId 作為引數傳遞。
- “AssignToDrawing”動作有ProjectId引數,使用TempData獲取DrawingId,將Drawing分配給Project。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/408233.html
標籤:
