ModelState.IsValid 上未显示验证消息
Validation Message Not Displays On ModelState.IsValid
我正在使用 Asp.Net MVC5 开发我的第一个应用程序。在我的应用程序中,我只有一个视图,我将在其中调用两个操作。一个动作使用按钮,另一个动作link。当我使用按钮调用它时,它非常适合验证消息。
另一方面,如果我单击 'Add Another'(这是操作 link)我想要相同的验证,但它不显示任何验证消息。我已经为@Html.ActionLink() click 事件实现了以下代码。
在剃刀视图中 -
@Html.ActionLink("Add Another", "AddNew", "AgreementRegistration", new { @class = "postLink" })
在控制器中 -
[HttpPost]
public ActionResult AddNew(User_Master usermaster, Commercial_Master commercialmaster, Property_Master propertymaster, PropertyCommercial_Master propertycommercialmaster, PropertyDetails_Master propertydetailsmaster, SecurityDeposit_Master securitydepositmaster, PropertyUser_Master propertyusermaster, UserType_Master usertypemaster)
{
agreementnew = new AgreementNew(usermaster, commercialmaster, propertymaster, propertycommercialmaster, propertydetailsmaster, securitydepositmaster, propertyusermaster, usertypemaster);
if (ModelState.IsValid)
{
//Some Logic
return View("InitialView", agreementnew);
}
else
{
//Some Logic
return View("InitialView", agreementnew);
}
}
当我使用调试器检查它时,它会在 else 块中使用上述方法,但没有显示任何验证消息。我想在单击 ActionLink 时显示所有验证消息。我该如何解决这个问题?
点击操作 link 它不会提交您的表单。只有在提交表单时才会检查验证。因此,请在点击您的操作 link 时使用 Javascript 提交表单 link。
首先将您的操作 link 更改为此。
@Html.ActionLink("Add Another", "AddNew", "AgreementRegistration", new { @class = "postLink", onclick="submitMyForm()" })
然后添加以下代码
<script>
function submitMyForm(){
$("#yourFormID").submit(); //assign an id to your form and use that here
}
</script>
我正在使用 Asp.Net MVC5 开发我的第一个应用程序。在我的应用程序中,我只有一个视图,我将在其中调用两个操作。一个动作使用按钮,另一个动作link。当我使用按钮调用它时,它非常适合验证消息。
另一方面,如果我单击 'Add Another'(这是操作 link)我想要相同的验证,但它不显示任何验证消息。我已经为@Html.ActionLink() click 事件实现了以下代码。
在剃刀视图中 -
@Html.ActionLink("Add Another", "AddNew", "AgreementRegistration", new { @class = "postLink" })
在控制器中 -
[HttpPost]
public ActionResult AddNew(User_Master usermaster, Commercial_Master commercialmaster, Property_Master propertymaster, PropertyCommercial_Master propertycommercialmaster, PropertyDetails_Master propertydetailsmaster, SecurityDeposit_Master securitydepositmaster, PropertyUser_Master propertyusermaster, UserType_Master usertypemaster)
{
agreementnew = new AgreementNew(usermaster, commercialmaster, propertymaster, propertycommercialmaster, propertydetailsmaster, securitydepositmaster, propertyusermaster, usertypemaster);
if (ModelState.IsValid)
{
//Some Logic
return View("InitialView", agreementnew);
}
else
{
//Some Logic
return View("InitialView", agreementnew);
}
}
当我使用调试器检查它时,它会在 else 块中使用上述方法,但没有显示任何验证消息。我想在单击 ActionLink 时显示所有验证消息。我该如何解决这个问题?
点击操作 link 它不会提交您的表单。只有在提交表单时才会检查验证。因此,请在点击您的操作 link 时使用 Javascript 提交表单 link。
首先将您的操作 link 更改为此。
@Html.ActionLink("Add Another", "AddNew", "AgreementRegistration", new { @class = "postLink", onclick="submitMyForm()" })
然后添加以下代码
<script>
function submitMyForm(){
$("#yourFormID").submit(); //assign an id to your form and use that here
}
</script>