1

我正在使用 html.Beginform 导航到操作。我正在向它传递一个参数。从下拉列表中检索参数的值。我想检查下拉菜单是否被选中。如果有点击事件,我可以轻松验证。但我不知道如何在没有点击事件的情况下实现这一点。

下面是我的代码:

@using (Html.BeginForm("Index", "Report", FormMethod.Post))
{
}

控制器 :

public ActionResult Index (string Name)
{
}

是否可以使用 Javascipt 而不是 C# 来实现它?

4

2 回答 2

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)
{
}
于 2015-08-18T14:08:16.210 回答
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
    }
}
于 2015-08-18T14:15:07.223 回答