У меня проблема с передачей параметра в контроллере.ASP.NET MVC передает параметр контроллеру с аргументом
я получаю id
значение в public ActionResult AddIngridient(int id = 0)
и мне нужно, чтобы передать его в public ActionResult AddIngridient(Ingredients ingridients)
как IngredientID
. Как это сделать?
У меня есть модель:
public partial class Ingredients
{
public int IngredientID { get; set; }
public Nullable<int> AmountID { get; set; }
public Nullable<int> IngredientTypeID { get; set; }
}
и контроллеры:
public ActionResult AddIngridient(int id = 0)
{
IEnumerable<Ingredient> ListOfIngridient = FRE.Ingredient.Select(key => key).ToList();
ViewBag.IngridientsList = new SelectList(ListOfIngridient,"IngredientID", "IngredientName");
IEnumerable<Amount> ListOfAmounts = FRE.Amount.Select(key => key).ToList();
ViewBag.AmountsList = new SelectList(ListOfAmounts, "AmountID", "AmountName");
ViewBag.ID = id;
return View();
}
[HttpPost]
public ActionResult AddIngridient(Ingredients ingridients)
{
return View();
}
Просмотр выглядит следующим образом:
@model FoodRecipes.Models.Ingredients
@{
ViewBag.Title = "AddIngridient";
}
<h2>AddIngridient</h2>
@using(Html.BeginForm())
{
@Html.DropDownListFor(model => model.IngredientTypeID, (SelectList)ViewBag.IngridientsList)
<br />
@Html.DropDownListFor(model => model.AmountID, (SelectList)ViewBag.AmountsList)
<input type="submit" value="Create" />
}
вы пытались установить действие, которое нужно после? например: @using (Html.BeginForm («AddIngridient», «YourControllerName»)) –
@RicardoPontual это необходимо только тогда, когда вы хотите перейти на другой контроллер за пределами текущего маршрута. И, абсолютно, не представляют проблемы в контексте этого вопроса. – Balde