我的应用程序有两个下拉列表,最小年龄和最大年龄。不要允许Max age值小于Min age value

时间:2018-05-19 12:09:43

标签: asp.net-mvc dropdownbox

在我的ASP.NET MVC应用程序中,我有两个下拉列表,最小年龄和最大年龄。我不想允许选择最大年龄下拉值小于最小年龄下拉值

我的观点:

下拉列表1最低年龄:

@Html.DropDownListFor(m => m.MinAge, new SelectList(ViewBag.agelist, "AgeValue", "AgeValue")

下拉列表2最大年龄:

@Html.DropDownListFor(m => m.MaxAge, new SelectList(ViewBag.agelist, "AgeValue", "AgeValue"))

控制器:

 public ActionResult PartnerPreference()  
 {
     ViewBag.agelist = mdal.AgeList.ToList < AgeList > ();
     return View();
 }

我需要在我的应用程序中添加一个条件,不允许从最大年龄下拉列表值中选择值&lt; (小于)最小年龄下拉列表...

Minage: { 20,21,22,23,24,25,26,27,28,29,30 }

Maxage: { 20,21,22,23,24,25,26,27,28,29,30 }

例如:

If end-user select the min age vale of 25 from the Min age dropdown list 
then it should not allow max age dropdown values less then min age values.(select only above 25 values {25,26,27,28,29,30}).

如何编写代码以在我的Web应用程序中放置条件和验证消息?

我希望你理解我的问题。

谢谢

1 个答案:

答案 0 :(得分:0)

你可以在你的控制器中使用这样的东西:

[HttpPost]
public ActionResult Create(FormCollection collection)
{
    try
    {
        if (Convert.ToInt32(collection["MinAge"]) > Convert.ToInt32(collection["MaxAge"]))
        {
            ModelState.AddModelError(string.Empty, "Min Age should be greater than Max Age");
            return View(cl);
        }

        // TODO: Add insert logic here

        return RedirectToAction("Index");
    }
    catch
    {
        return View();
    }
}

您可以从FormCollection中检索MinAge和MaxAge,然后您可以比较它们,如果MinAge大于MaxAge,则向模型添加错误,这将向最终用户显示错误