我是MVC.NET 5的新手; 我正在开发一个带有下拉列表和表单的应用程序。我的下拉列表是我的模型创建的,我不知道如何从下拉列表中获取值数。 以下是代码的一部分:
第一个下拉部分视图:
@using System.Data.SqlClient
@model Cars.Web.Models.TestModel
@using (Ajax.BeginForm("GetByMake", "Cars", null, new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "models",
InsertionMode = InsertionMode.Replace
}, new { id = "selectMarke" }))
{
@Html.DropDownListFor(
m => m.SelectedMarkeId,
new SelectList(Model.Markes, "Id", "Name"),
String.Empty
)
}
<script>
$('#SelectedMarkeId').change(function () {
console.log("asd");
$('#selectMarke').submit();
});
</script>
这是第二个:
@model Cars.Web.Models.TestModel
@if (Model.Models != null && Model.Models.Any())
{
@Html.DropDownList(
"models",
new SelectList(Model.Models, "Id", "ModelName"),
string.Empty
)
}
我可以从第一个id传递到第二个控制器,但我认为,这不是正确的方法。我想知道我是否添加更多表单,如何将这两个表单绑定在提交上。 感谢
答案 0 :(得分:0)
使用时:
@Html.DropDownListFor(
m => m.SelectedMarkeId,
new SelectList(Model.Markes, "Id", "Name"),
String.Empty
)
下拉列表的name
将是&#34; SelectedMarkeId&#34;。
使用时:
@Html.DropDownList(
"models",
new SelectList(Model.Models, "Id", "ModelName"),
string.Empty
)
下拉列表的name
将是&#34; models&#34;
控制器必须具有与输入的name
匹配的参数。像这样:
[HttpPost]
public ActionResult SomeAction (int models, int SelectedMarkeId)
{
//SelectedMarkeId is the selected value of the first drop down list
//models is the selected value of the second drop down list
//your code here
}
您还可以使用包含与输入名称匹配的属性的对象。像这样:
public class TestModel
{
public int models { get; set; }
public int SelectedMarkeId { get; set; }
}
[HttpPost]
public ActionResult SomeAction (TestModel model)
{
//SelectedMarkeId is the selected value of the first drop down list
//models is the selected value of the second drop down list
//your code here
}