Привет всем Я пытаюсь узнать MVC 2 и ASP и т. Д. Через Музыкальный магазин MVC. В то же время я пытаюсь выполнить то, что он делает, с решением, которое я разрабатываю на работе. Общая структура - это система билетов в службу поддержки ИТ, и я работаю над очень широкими функциями администратора по созданию, редактированию и удалению билетов. Я внимательно следил за учебником, но поразил кирпичную стену, пытаясь использовать ценности, которые должны быть отправлены в методы контроллера, и они не попадают туда.MVC 2 Значения формы не публикуются
Для секции создать мой Create.aspx выглядит как
<h2>Create</h2>
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Create New Request</legend>
<%: Html.EditorFor(model => model.request,
new {Softwares = Model.SoftwareName, Systems = Model.SystemIDNo}) %>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
<div>
<%: Html.ActionLink("Back to List", "Index") %>
</div>
частичный вид его призвание workRequest.ascx
<p>
<%= Html.LabelFor(model => model.Medium)%>
<%= Html.TextBoxFor(model => model.Medium)%>
<%= Html.ValidationMessageFor(model => model.Medium)%>
</p>
<p>
<%= Html.LabelFor(model => model.Summary)%>
<%= Html.TextBoxFor(model => model.Summary)%>
<%= Html.ValidationMessageFor(model => model.Summary)%>
</p>
<p>
<%= Html.LabelFor(model => model.Details)%>
<%= Html.TextAreaFor(model => model.Details)%>
<%= Html.ValidationMessageFor(model => model.Details)%>
</p>
<p>
<%= Html.LabelFor(model => model.WorkHalted)%>
<%= Html.TextBoxFor(model => model.WorkHalted)%>
<%= Html.ValidationMessageFor(model => model.WorkHalted)%>
</p>
<p>
<%= Html.LabelFor(model => model.Frequency)%>
<%= Html.TextBoxFor(model => model.Frequency)%>
<%= Html.ValidationMessageFor(model => model.Frequency)%>
</p>
<p>
<%= Html.LabelFor(model => model.StartDate)%>
<%= Html.TextBoxFor(model => model.StartDate, String.Format("{0:g}", Model.StartDate))%>
<%= Html.ValidationMessageFor(model => model.StartDate)%>
</p>
<p>
<%= Html.LabelFor(model => model.SoftwareID) %>
<%= Html.DropDownList("SoftwareID", new SelectList(ViewData["Softwares"] as IEnumerable, Model.SoftwareID)) %>
</p>
<p>
<%= Html.LabelFor(model => model.SystemID) %>
<%= Html.DropDownList("SystemID", new SelectList(ViewData["Systems"] as IEnumerable, Model.SystemID)) %>
</p>
и пост создать контроллер выглядит
[HttpPost]
public ActionResult Create(WorkRequest newRequest)
{
try
{
storeDB.AddToWorkRequests(newRequest);
storeDB.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Я поставил точку прерывания в try и проверил значения, входящие в newRequest, и все в newRequest равно null, как будто ничего не проходит.
Аналогичная ситуация наблюдается и на стороне редактирования вещей, ничего не получает от частичного представления к контроллеру.
В любом случае я уверен, что это что-то довольно простое, я новичок в MVC, ASP, C#, почти все это. Обычно я обычно не спрашиваю других людей, но я довольно долго смотрел на эту проблему и мог использовать свежие глаза на этом.
Заранее благодарен!
какая самая первая строка на ваш взгляд, можете ли вы вставить это, пожалуйста? На самом деле вы можете публиковать ПОЛНЫЙ контент обоих представлений. –