2012-06-20 76 views
0

我有一個控制器,我有保存按鈕單擊事件。我使用相同的控制器和視圖添加和編輯的目的。我的代碼按照以下添加多個ActionName按鈕

[HttpPost] 
      [Button(ButtonName = "Save")] 
      [ActionName("Create")] 
      [ValidateAntiForgeryToken(Salt = "PostData")] 
      public ActionResult Save(Ntegra m_Ntegra,FormCollection form) 
      {} 

由於IM使用ActionName(「創建」)這裏,所以按鈕不能ActionName工作(「編輯」)。任何人都可以告訴我如何達到我的要求! 感謝您的幫助...... :)

回答

0

您可以使用一個視圖,即Edit or Create,但您需要編寫2個不同的Controllor操作(創建,編輯)。

請參閱MVC Music store CodePlex project,這將給你在使用什麼約定的想法,並寫標準的MVC編碼

0

你可以有一個名爲保存操作方法,並通過模型。 IN操作方法可以檢查模型中是否存在ID。如果有預先定義的ID,您可以更新記錄,否則您可以創建新記錄。 IN你FormCollection,同時呈現表單使用隱藏字段來存儲Id字段。

public ActionResult Save(FormCollection form) 
      {} 
+0

我有我的看法 – NewToBirtReporting

+0

了幾個鍵,希望只保存按鈕會做後(和行動也是在表單標籤配置,其中數據將發佈)。其他按鈕只需通過鏈接進行重定向;就像如果你有取消按鈕一樣,將它改爲錨點標記,url必須轉到其他頁面。 – Mahesh

+0

謝謝。得到的解決方案 – NewToBirtReporting

0

它並不真正需要createedit 2個控制器動作,你可以有一個單一的動作,而與ActionName屬性裝飾。

在單個控制器操作中,您必須檢查將要保存的實體的id,如果存在某個值,那麼它將被編輯爲else create。

[HttpPost] 
public ActionResult Save(Ntegra m_Ntegra) 
{ 
    if(m_Ntegra.Id == 0) 
    { 
    // create 
    } 
    else 
    { 
    // edit 
    } 
} 
+0

但我有保存,取消,平在我的觀點eberytime這三個按鈕回發將得到困惑ABT行動 – NewToBirtReporting