2014-07-01 80 views
-1

我在View一个DropDownList填充在控制器并传递到使用ViewViewBag.PussibleManager如果用户选择默认选项,如何显示错误消息?

@Html.DropDownList("PussibleManager", null, new { @class = "form-control" }) 

这个DDL是第一项“请选择...”,并将其值设为-1。
如何检查所选项目是否“请选择...”,并在用户按下保存按钮时显示类似Html.ValidationMessage之类的错误消息?

(我想迫使用户选择一个经理或保存按钮不起作用!)

enter image description here

回答

0

下面的代码行添加到您的视图:

@Html.Validate("PussibleManager") 

,然后添加类似于下面的代码的东西进入行动结果:

public ActionResult NameOfAction(NameOfViewModel model) 
{ 
    if (model.PussibleManager = 0) 
    { 
     ModelState.AddModelError("PussibleManager", "ErrorMessageHere"); 
    } 

    if (ModelState.IsValid) 
    { 
     // DO SOMETHING HERE 
    } 

    return View(model); 
} 

什么会发生,当窗体提交(假设它是一个表单),它会发布到服务器。它会发现DDL出现错误,然后当它返回到ModelState.IsValid时,它将返回false,返回到视图并返回错误消息。

这是许多例子中的一个,您可以在您传回的ViewModel上使用DataAnnotations。另外NameOfViewModel只是一个类,包含从视图传递回服务器的项目。

或者,您可以根据其他用户的回复使用JQUERY验证。

+0

感谢您的回答,正如我所说,这个下拉列表填充在我的控制器中,并且它不存在于ViewModel中。 – mok

+0

仍然遵循我给你的例子,但是代替'NameOfViewModel模型'(参考ActionResult)将其更改为'string PussibleManager'。哦,并删除'返回视图(模型);'只是说'返回视图();'如果你仍然不喜欢答案,我的建议然后看看JQUERY验证。 – Damian

相关问题