如标题所述,我的问题是关于MVC和ActionResult。
我们想要实现的目标:
它是一个食谱网站,您可以在其中提交食谱并搜索食谱。
在提交表单上,我们希望如果从与IngredientModel链接的dropdownListFor(成分列表)中单击某个项目,则应将所选项目插入到列表框中(选定的成分)。
我们拥有什么:
一个名为Submit的Controller和HttpPost ActionResult方法。
整个表单提交方法分为3种形式(1个HtmlBeginForm& 2 Html.Partial)
第一种形式是添加新成分(添加新成分)txtBox和按钮。(局部视图) 第二个表单是addToListBox(其中dropdownListfor中的所选项应该进入列表框)(部分视图)
第三种形式是其余的(标题,描述,步骤,img等......和食谱提交按钮。(主视图)
代码:
在RecipeController中有一个httpPost ActionResult Submit(用于将整个配方放入DataBase),但是在我们想要将配方放入DB之前我们想要:
- 一个httpPost ActionResult AddNewIngredient,它将一个新成分添加到DB(或列表框中,然后再添加到DB中)
问题:
当所选项目从dropdownList更改时,我们将进入Submit ActionResult而不是AddIngredientToListBox ActionResult ...
我和我的老师(我的学生)整整一个下午都在搜索,但他找不到原因......
感谢您的时间!
亲切的问候。
答案 0 :(得分:2)
person
语句应指定应将表单发布到的控制器+操作的名称。说,@using (Html.BeginForm()) {
。
还要注意表单的嵌套。请检查您的HTML输出,因为您的剃刀会在另一个@using (Html.BeginForm("AddIngredientToListBox", "NameOfYourController")) {
内呈现<form>