我在MVC应用程序上有2种形式。第一种形式是有效查找(验证和按钮触发)。验证有效的第二种形式,但输入按钮未触发。当我删除JavaScript时,一切正常,不管我哪里出错了。我的示例代码如下 查看
表格1
@using (Html.BeginForm("Index", "Corporate", FormMethod.Post, new { enctype
= "multipart/form-data" , id= QuickMEssage}))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.Label("Message Body", new { @class = "control-label col-md-2 required" })
<div class="col-md-8">
<textarea rows="6" cols="50" name="MessageBody" class="required" id="MessageBody" placeholder="Message Body Not more than 148 characters"></textarea>
</div>
</div>
<input type="submit" value="Send Message" class="btn btn-success" name="quicksend" />
}
表格2
@using (Html.BeginForm("BulkMessage", "Corporate", FormMethod.Post, new {
enctype = "multipart/form-data" , id= "BulkMessage" }))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.Label("Message Body", new { @class = "control-label col-md-2 required" })
<div class="col-md-8">
<textarea rows="6" cols="50" name="MessageBody" class="required" id="MessageBody" placeholder="Message Body Not more than 148 characters"></textarea>
</div>
</div>
<input type="submit" value="Shedule Message" class="btn btn-success" />
}
控制器
// Controller for the first form
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Index(string[] mobilenumber, int
ddlshedule, string date, int? sendmessage, string MessageBody)
{
return View();
}
// Controller for the second form. Validation is working fine
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> BulkMessage(int ddlshedule, string date,
string MessageBody2, HttpPostedFileBase attachmentcsv)
{
// This part of the code is not firing
Return View();
}
JavaScript
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Styles.Render("~/bundles/datatablecss")
@Scripts.Render("~/bundles/table")
JavaScript for form 1
<script>
$(document).ready(function () {
$("#QuickMEssage").validate();
});
JavaScript for form 2
<script>
$(document).ready(function () {
$("#BulkMessage").validate();
});
</script>
}