Мне нужна небольшая помощь в этом, так как я очень новичок в AJAX в целом. На данной странице, которая у меня есть (вид), я показываю кнопку, которая вызывает форму. В конечном итоге я хочу передать данные в этой форме контроллеру внутри моего приложения. Я знаю, что есть много уроков о том, как это сделать ... однако, похоже, у меня проблема с пониманием того, как это делается; поэтому я хочу пройти пошаговую процедуру. Я просто хочу отобразить другое представление после того, как пользователь нажимает кнопку «Сохранить» в диалоговом окне. Надеюсь, это ясно. Вот мой HTML + JQueryПеренаправление в Action-Controller MVC 4 внутри JQuery
@model AccommodationEditViewModel
@{
ViewBag.Title = "Edit";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<table>
<tr>
<td>
@Html.ActionLink("Back to list", "List", "Accommodation")
</td>
</tr>
<tr>
<td>
@if (Model.Accommodation.LocaleID != Guid.Empty)
{
@Html.DisplayAccommodation(IAccommodationDisplay);
}
</td>
</tr>
</table>
<div class="genericform">
<form id="form" method="post">
@Html.AccommodationEditDisplay()
<table>
<tr>
<td>
@Html.ActionLink("Add New Address", "", "", new { id = "addaddresses" }, null)
</td>
</tr>
@if (Model != null && Model.Accommodation.Addresses.Count() == 0)
{
<tr>
<td>
This Locale Contains No Addresses
</td>
</tr>
}
else
{
foreach (Address address in Model.Accommodation.Addresses)
{
<tr>
<td>
@address.Address1
</td>
</tr>
}
}
</table>
<br /> <br />
<input type="submit" name="command" value="Save" />
<input type="submit" name="command" value="Delete" />
</form>
</div>
<button id="opener">Add Address</button>
<div id="dialog" title="Add Address" style="display:none;">
<label for="Address1">Address: </label><input id="Address1" />
<label for="Address2">Address 2: </label><input id="Address2" />
<label for="City">City: </label><input id="City" />
<label for="State">State: </label><input id="State" />
<label for="PostalCode">Postal Code: </label><input id="PostalCode" />
</div>
<script type="text/javascript" src="~/Scripts/jquery-1.7.1.js"></script>
<script type="text/javascript" src="~/Scripts/jquery-ui-1.8.20.js"></script>
<link type="text/css" href="~/Content/themes/base/jquery.ui.all.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function() {
$("#dialog").dialog({
autoOpen: false,
show: {
effect: "explode",
duration: 250
},
hide: {
effect: "explode",
duration: 250
},
buttons: {
"Save": {
text: "Save",
class: "",
click: function() {
//**redirect here**
$(this).dialog("close");
}},
"Cancel": {
text: "Cancel",
class: "",
click: function() {
$(this).dialog("close");
}
}},
modal: true
});
$("#opener").click(function() {
$("#dialog").dialog("open");
});
});
</script>
Я попытался с помощью $ .ajax ({}) и установка этого: Url: "/Areas/Website/Controller/Action
но скриптовый перестает работать в этой точке. Любая помощь приветствуется! Спасибо!
EDIT
ли мне даже нужно использовать AJAX вообще? Я просто хочу передать информацию в этой форме (внутри диалога) контроллеру.
Просьба предоставить более подробную информацию о представлении, таком как форма Html (включая кнопку ввода в конце, ту, которая говорит type = "submit") –
Нет ничего особенного в представлении. У меня есть помощники для отображения начальной формы. Это не имеет особого отношения к тому, что я хочу выполнить: диалог отображения, заполнение формы, ввод данных, введенных в контроллер, отображение этой формы с помощью ViewResult. Имеет ли это смысл? – Jose
Наоборот, вам действительно не нужны ajax или jquery и т. Д. Поэтому я хотел, чтобы вы показали мне свою форму, я могу дать вам шаги по отправке данных из вашей формы в контроллер. Это не сложно. –