したがって、1対多の関係を持つ2つのモデルがあります。コールアウト、およびシフトオファー。吹き出しは多くのシフトオファーを持つことができます。asp.netは異なるコントローラのビュー間でidを渡します。
私のcallout_idをshift-offerコントローラに渡したいとします。次のように私は、インデックス()メソッドを変更することでこれをやった:
public async Task<ActionResult> Index(long? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
Debug.WriteLine("Callout ID cannot be null");
}
var shift_Offers = db.Shift_Offers.Where(s => s.callout_id_fk == id);
return View(await shift_Offers.ToListAsync());
}
私はまた別のページを呼び出すために私のHTMLアクションのリンクのいずれかを変更した:
@Html.ActionLink("View Callout",
"Index",
"ShiftOffer",
new { area = ""},
new { id=item.callout_id_pk }) |
しかし、ここではキッカーです、私はインデックス(長いID)を呼び出すしようとすると、その悪い要求のエラーを投げている。私のIDがデフォルトの足場のリンクのように渡されないのはなぜですか?
の下に試してみてください? –
MVC 5 Asp.net 4.6.1 –