我正在使用html.Beginform导航到动作。我正在向它传递一个参数。从下拉列表中检索参数的值。我想检查是否已选择下拉列表。如果有点击事件,我可以轻松验证。但我不知道如何在没有点击事件的情况下实现这一目标。
以下是我的代码:
@using (Html.BeginForm("Index", "Report", FormMethod.Post))
{
}
控制器:
public ActionResult Index (string Name)
{
}
是否可以使用Javascipt而不是C#实现它?
答案 0 :(得分:2)
使用模型时,请务必添加
[Required]
关于您希望获得的项目。
public class TheDropDownModel
{
[Required]
public string DropdownId { get; set; }
}
然后在视图上添加以显示验证摘要。
@using (Html.BeginForm("Index", "Report", FormMethod.Post))
{
...dropdown code
@Html.ValidationSummary(true)
..submit button
}
将控制器更改为
public ActionResult Index (TheDropDownModel model)
{
}
答案 1 :(得分:1)
<强>模型强>
public class MyViewModel
{
...
[Required]
public string Name { get; set; }
...
}
查看强>
@model MyViewModel @* there should be setted full namespace for your model *@
@using(Html.BeginForm("Index", "Report", FormMethod.Post))
{
...
@Html.DropDownListFor(m => m.Name, @* there should be your selectList *@)
@Html.ValidationMessageFor(m => m.Name)
...
<button type="submit">Send</button>
}
<强>控制器强>
[HttpPost]
public ActionResult Index (MyViewModel model)
{
if (!ModelState.IsValid)
{
// Some server logic for model validation
}
}