2011-01-27 16 views
0

サンドイッチの編集用のMVCビューがあるとします。サンドイッチの名前、価格などです。このフォームには独自の[送信]ボタンがあります。フォームを送信すると、POSTの編集アクションが呼び出され、サンドイッチが更新され、ビューがリロードされます。ASP.NET MVCビューの複数のフォームとルーティングの問題

次に同じサンドイッチ編集フォームの下に、追加ボタンが付いた成分のドロップダウンリストがあります。どのようにしてAdd Ingredientフォームを別のActionにポストしますが、Editビューをリロードしますか?

RedirectToAction( "編集")は、URLに多くの迷惑メールを入れます。ここで

作品、私がしようとした一つの方法ですが、URLでジャンクを置く:ここ
[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult LoginRemoveAssociation(FormCollection values) 
    { 
     int webUserKey = Int32.Parse(values["WebUserKey"]); 
     int associationKey = Int32.Parse(values["AssociationKey"]); 
     db.DeleteWebUserAssociation(webUserKey, associationKey); 
     return RedirectToAction("LoginEdit", new LoginEditViewModel(webUserKey, true)); 
    } 

がRedirectToAction後のURLでジャンクです:

https://localhost/mvc/Admin/Login/382?WebUser=Web.Data.Entities.WebUser&Associations=System.Data.Objects.ObjectQuery`1[Web.Data.Entities.Association]&WebUserAssociations=System.Data.Objects.DataClasses.EntityCollection`1[Web.Data.Entities.WebUserAssociation]&ManagementCompanies=System.Collections.Generic.List`1[Web.Data.Entities.ManagementCompany]&ManagementCompanyList=System.Web.Mvc.SelectList&AccessLevels=System.Collections.Generic.List`1[Web.Data.Entities.AccessLevel]&AccessLevelList=System.Web.Mvc.SelectList&PostMessage=Changes%20saved. 
+0

"RedirectToAction(" Edit ")は、URLに多くのジャンクを入れます。"あなたは "ジャンク"の例を投稿できますか? – Chandu

+0

投稿は迷惑メールと編集されました:) – Blackcoil

答えて

0

理由は、あなたのあなたのURLに「迷惑メール」が届くのは、LoginEditViewModelを編集アクションに渡すからです。 .Netはオブジェクトを名前に変換しようとしているので、パラメータに渡すことができます。あなたのWeb.Data.Entitiesを見ているのはなぜですか?

Editコントローラの外観はどうなっていますか?

のようなその何か場合:むしろ、あなたのビューモデルを渡すよりも、

return RedirectToAction("Edit", new { id = 1 }); 

public ActionResult Edit(int id) 

は、その後のアクションにあなたのリダイレクトのようなものでなければなりません。

+0

それはまさにそれでした!ありがとう! – Blackcoil

関連する問題