我正在使用Asp.Net MVC5开发我的第一个应用程序。在我的应用程序中,我有单一视图,其中我将调用两个动作。使用按钮和动作链接的另一个动作。当我使用按钮调用它时,它可以完美地用于验证消息。
另一方面,如果我点击“添加另一个”(这是动作链接)我想要相同的验证,但它没有显示任何验证消息。我已经为@ Html.ActionLink()点击事件实现了以下代码。
在Razor View中 -
@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时显示所有验证消息。我该如何解决这个问题?
答案 0 :(得分:0)
点击操作链接,它不会提交您的表单。只有在提交表单时才会检查验证。因此,点击您的操作链接时,请使用Javascript提交表单。
首先将您的操作链接更改为此。
@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>