Ich mache eine MVC
, Bootstrap App
.MVC Bootstrap Teilansicht ValidationMessageFür die Ausführung beim Laden Seite
Ich öffnen ein Bootstrap
Partial View from Jquery
übergibt Model
als Parameter.
Von Controller
Ich gebe Partial View
zurück und ich öffne es von Jquery.
Das Problem, das ich gefunden habe, ist, dass ValidationMessageFor
ausgeführt wird wh en Partial View
geladen ist ... Ich kann nicht finden, warum.
Der Prozess ist so ... Ich habe ein Bild, das eine JavaScript-Funktion namens ...
img id = "btnEmail" src = "~/content/images/Email.png" Onclick = "btnEmail ('param1', Param2)"
Hier ist mein Jquery
function btnEmail(nick, user_id) {
--validate if user is logged and call function that call Partial View
if (SearchLogin())
SendMail();
}
function SendMail() {
user_id = $('#CommentUser_id').val();
nick = $('#LblCommentName').val();
if (user_id == $('#User_id').val())
return;
var model = { Object_id: $("#Upload_id").val(), Nick: nick, UserDestination_id: $("#User_id").val(), Parent_id: null, UserOrigin_id: user_id};
$.ajax(
{
type: "POST",
url: '@Url.Action("Email", "Contact")',
data: model,
success: function (result) {
$("#myModalContact").html(result).modal({ backdrop: "static" });
},
});
"static" });
}
Hier ist meine
Controller Method
public async Task<ActionResult> Email(ContactModel model)
{
return PartialView("_Contact", model);
}
Und hier ist meine Teilansicht
Wenn ich meine Teilansicht wie diese
genannt<div class="modal fade" id="myModalContact" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
@Html.Partial("~/Views/Contact/_Contact.cshtml", new TableAvivaVoz.Models.ContactModel() { Object_id = Model.upload.Upload_id, Nick = Model.upload.Nick, UserDestination_id = Model.upload.User_id, Parent_id = null,UserOrigin_id=Model.User_id });
</div>
es funktioniert gut ...
hier ist ein Teil meiner Teilansicht
@model TableAvivaVoz.Models.ContactModel
@{
AjaxOptions ajaxOpts = new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "sucessContact",
};
}
@using (Ajax.BeginForm("XXX", "Contact", ajaxOpts))
{
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">
</h4>
</div>
<div class="myPartialContact">
<div class="alert alert-success hidden">
</div>
</div>
@Html.AntiForgeryToken()
<div style="padding-bottom:220px">
<div class="modal-body">
<div class="col-md-10">
@Html.TextAreaFor(model => model.Description, 10, 80, new { @class = "txtDescQ", placeholder = "Ingresa un mensaje", @rows = 8, onclick = "OcultarRecomend();" })
@Html.ValidationMessageFor(model => model.Description, "", new { @class = "text-danger" })
</div>
</div>
</div>
<div class="myPartialContactBtn modal-footer">
<button type="button" class="btn btn-default visible btnOk" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary visible btnOk" id="btnSave">Enviar</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
}
Irgendwelche Ideen, was falsch ist?
Was nennt man die JavaScript-Funktion 'SendMail()'? – zgood
zgood ... SendMail wird von einem anderen JavaScript aufgerufen, das einige tut. Validierung ... Die erste javascrpit Funktion wird von Image click ... aufgerufen. Ich werde den Post updaten. Tanks – Diego