当输入的值无效时,如何将表单中文本框中的值强制为默认值?

时间:2013-07-12 20:52:50

标签: asp.net-mvc-4

例如,在下面的控制器视图设置中,一切正常,但是当我在文本框中键入一些荒谬的东西时,如99/12/2014,当我按下提交时,它不会将其设置为默认的29/12/2014按钮但是当我按下操作链接时它确实将其设置为默认值。

我删除了所有其他代码,因为它与问题无关。

如果输入的值不是有效日期,我希望当我按下提交按钮时文本框值会自行更正。

控制器:

public class HomeController : Controller
    {
        public ActionResult Index(string myDate = null)
        {
            DateTime _myDate;
            if (!DateTime.TryParse(myDate, out _myDate))
            {
                _myDate = new DateTime(2013, 12, 29);
            }

            ViewBag.myDate = myDate = _myDate.ToString();

            return View();
        }
   }

查看:

@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{   
    @Html.TextBox("myDate");

    <input type="submit" value="Submit" />
}
@Html.ActionLink("Select", "Index", new { myDate = ViewBag.MyDate })

0 个答案:

没有答案