0

関連記事を表示する「作成」:Populating a select box in a form using related ID in MVC3MVC3移入は、関連するオブジェクトのための

私はに-エンティティのLINQ-MVC3およびADO.NETを使用して生成されたリストビューを持っています。

「関連オブジェクト」を作成するための「編集」アクションリンクコマンド「作成」&を使用して、簡単なリストビューを作成することができました。私が作成

@Html.ActionLink("Create Shipping Profile", "../PrintProfile/Create", new { id = item.ProductId }) | 
@Html.ActionLink("Edit Shipping Profile", "../PrintProfile/Edit", new { id = item.ProductId }) 

「PrintProfile」 I欲しい私が作成できるように、(データベーステーブルの関係である)「のProductId」と「事前に」であると見解を「作成」プロファイルを作成し、リスト内の各項目の関連プロファイルを編集します。

public ActionResult Create(int ProductId) 
    { 
     var entities = new CS_ShippingProfiles(); 
     entities.ProductId = ProductId; // Assign the ProductId I want to 'create' 
     return View(entities); 
    } 

    [HttpPost] 
    public ActionResult Create(CS_ShippingProfiles Profile) 
    { 
     if (ModelState.IsValid) 
     { 
      var entities = new LabelServiceEntities(); 
      entities.AddToCS_ShippingProfiles(Profile); 
      entities.SaveChanges(); 

      return Redirect("/Products"); 
     } 
     return View(Profile); 
    } 

しかし、私はリンクをたどるとき、私は「NULL」パラメータの例外を取得:ここ

がPrintProfile用コントローラを作成しています!何が間違っているのですか? Createアクションはあなたが正しいリンクを生成してくださいProductIdと呼ばれているの

答えて

1

あなたのactionパラメータは:

@Html.ActionLink(
    "Create Shipping Profile", 
    "Create", 
    "PrintProfile", 
    new { ProductId = item.ProductId }, 
    null 
) 
| 
@Html.ActionLink(
    "Edit Shipping Profile", 
    "Edit", 
    "PrintProfile", 
    new { ProductId = item.ProductId }, 
    null 
) 

はまた、あなたが(../PrintProfile/Create)そうであるように、コントローラやアクションではなく、いくつかの相対URLを使用して、指定されている様子がわかり。

+0

良いもの!ありがとう!魅力のように働く - これが将来誰かを助けてくれることを願っています。 –

関連する問題