J'ai un dialogue modal Jquery, Ma question est quelle est la meilleure façon d'envoyer ces données à l'automate, et d'afficher un message dans la boîte de dialogue. Je n'arrive pas à trouver et de bons exemples de cela.Envoyer des données à partir de Jquery Dialog et MVC
0
A
Répondre
1
Avec JQuery, vous pouvez obtenir le Form plugin, et soumettre votre formulaire facilement avec l'Ajax comme ceci:
$('#myform').ajaxForm({
url: '/mycontroller/myaction/myid',
datatype: 'json',
success: function(responseJson) {
alert ('success! response was:' + responseJson);
}
});
0
$.post('site/controller/action', $('#myForm').serialize(), function (data) {
alert('form submitted');
}, 'json');
0
contrôles de collecte de données Mettre dans une forme comme ceci:
<div id="AddTaskDiv">
<form id="AddTaskForm" method="post" action="">
<%= Html.Hidden("AddTaskProjectId") %>
<%= Html.Hidden("AddTaskTemplateName") %>
<fieldset>
<p><label for="TaskId">Task ID</label></p>
<p>
<label for="AddTaskLevel">Level:</label>
<%= Html.TextBox("AddTaskLevel", "", new{@maxlength= "3", @size="3"})%>
<%= Html.ValidationMessage("AddTaskLevel", "*")%>
<label for="AddTaskMajorLevel">Major ID:</label>
<%= Html.TextBox("AddTaskMajorLevel", "", new { @maxlength = "3", @size = "3" })%>
<%= Html.ValidationMessage("AddTaskMajorLevel", "*")%>
<label for="AddTaskMinorLevel">Minor ID:</label>
<%= Html.TextBox("AddTaskMinorLevel", "", new { @maxlength = "3", @size = "3" })%>
<%= Html.ValidationMessage("AddTaskMinorLevel", "*")%>
</p>
<p>
<label for="AddTaskDescription">Description:</label>
<%= Html.TextBox("AddTaskDescription", "", new { @maxlength = "32", @size = "32" })%>
<%= Html.ValidationMessage("AddTaskDescription", "*")%>
</p>
<p>
<label for="AddTaskResponsibleRole">ResponsibleRole:</label>
<%= Html.TextBox("AddTaskResponsibleRole")%>
<%= Html.ValidationMessage("AddTaskResponsibleRole", "*")%>
</p>
<p>
<label for="AddTaskDurationInDays">DurationInDays:</label>
<%= Html.TextBox("AddTaskDurationInDays", "", new { @maxlength = "3", @size = "3" })%>
<%= Html.ValidationMessage("AddTaskDurationInDays", "*")%>
</p>
<p>
<label for="AddTaskType">Task Type:</label>
<%= Html.DropDownList("AddTaskType", (SelectList)ViewData["TaskTypes"])%>
</p>
</fieldset>
</form>
</div>
Ensuite, ajoutez le Javascript suivant: Note Ouvrir la fonction Ajouter a une Sérialisation. Cela assemble les données Json. Maintenant, descendez et regardez le DTO puis le contrôleur.
<script type="text/javascript">
AddTaskHandler = function() {
var SuccessHandler;
// Open the dialog
Open = function(successHandler, projectId, templateName) {
SuccessHandler = successHandler;
$('#AddTaskProjectId').val(projectId);
$('#AddTaskTemplateName').val(templateName);
$('#AddTaskDiv').dialog('open');
}
// Initialize the add Task Dialog
Init = function() {
$('#AddTaskDiv').dialog({
autoOpen: false,
modal: true,
height: 400,
width: 535,
buttons:
{
Cancel: function() { $(this).dialog("close"); },
Add: function() {
var mydialog = $(this);
var formData = $('#AddTaskForm').serializeArray();
$.post(
"/Template/AddTask", formData,
function(data) {
if(data.Status == false) { alert(data.Message); }
else {
SuccessHandler(data);
mydialog.dialog("close");
}
}, "json");
}
}
});
};
return { Init: Init, Open: Open };
}();
$(document).ready(function() {
AddTaskHandler.Init();
});
</script>
Créer une DTO
: noms de propriété Note ar identiques pour former les noms de contrôle:
public class TaskDto
{
public string AddTaskProjectId { get; set; }
public string AddTaskDescription { get; set; }
public string AddTaskDurationInDays { get; set; }
public string AddTaskLevel { get; set; }
public string AddTaskTemplateId { get; set; }
public string AddTaskTemplateName { get; set; }
public string AddTaskMajorLevel { get; set; }
public string AddTaskMinorLevel { get; set; }
public string AddTaskResponsibleRole { get; set; }
public string AddTaskActive { get; set; }
public string AddTaskType { get; set; }
}
Votre contrôleur MVC:
public ActionResult AddTask(TaskDto taskDto)
{
// Code here
}
Et thats it.
Donc, je place la boîte de dialogue dans mon site maître en le rendant là tout le temps, prêt. Il s'initialise.
Puis quand j'en ai besoin j'appelle l'ouverture et puis le repos est fait.
Questions connexes
- 1. asp.net et jquery dialog
- 2. JQuery DIalog et répéteur ASP.NET
- 3. jquery Ui-dialog et ie8
- 4. jquery autocomplete et jQuery UI Dialog
- 5. Comment envoyer des données de DropDownList à Html.BeginForm dans MVC?
- 6. jQuery envoyer des données HTML via POST
- 7. Comment publier des données en utilisant jQuery et MVC
- 8. jQuery UI Dialog
- 9. Dialog keypress et DOM
- 10. conseils sur JQuery UI Dialog
- 11. JQuery UI Dialog + JQuery Valider + Tabulation
- 12. TcpServer - Envoyer et recevoir des données
- 13. Téléchargement d'ASP.NET MVC avec des données supplémentaires et Jquery
- 14. jQuery UI Dialog requêtes + jQueryUI requêtes
- 15. envoyer des données à un ForeignKey manuellement?
- 16. Comment passer des données à partir de JavaScript à C# (asp.net mvc)
- 17. Connexion ASP.NET MVC Modal Dialog/lightbox
- 18. Applications CMenu et Dialog
- 19. Comment récolter des données dans le dialogue de jquery au contrôleur de Mvc?
- 20. Positionnement du bouton jQuery UI Dialog
- 21. Comment renvoyez-vous des messages d'erreur à partir d'appels AJAX en utilisant jQuery et ASP.NET MVC?
- 22. Envoyer des emails à partir de code - Frameworks
- 23. Prévenir postback en page en cours en Chunking et envoyer des données à un service WCF
- 24. Simple Jquery Dialog mais maintenant sur cliquez
- 25. jQuery UI Dialog style CSS individuel
- 26. jQuery UI Dialog + ASP.NET + textboxes concentrer
- 27. envoyer des SMS gratuits à partir de C# + ASP.NET
- 28. jQuery DatePicker et JQuery Modal popups Problème dans MVC
- 29. Envoyer un message multiple à l'aide du plugin jquery dans des données à plusieurs lignes?
- 30. Comment utiliser jquery dialog ('open') correctement?
Comment est-ce que je ferais ceci sans le plugin? –