Привет всем
Я пытаюсь изучить MVC 2, ASP и т. Д. Через музыкальный магазин MVC. В то же время я пытаюсь согласовать то, что он делает, с решением, которое я разрабатываю на работе. Общая структура системы заявок службы технической поддержки IT, и я работаю над очень широкими функциями администратора по созданию, редактированию и удалению заявок. Я очень внимательно следил за руководством, но попал в кирпичную стену, пытаясь использовать значения, которые должны быть опубликованы в методах контроллера, а они не достигают этого.
Для раздела создания мой 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();
}
}
Я поставил точку останова в попытке и проверил значения, поступающие в newRequest, и все в newRequest равно нулю, как будто ничего не передается.
Аналогичная ситуация возникает и на стороне редактирования, вообще ничего не отправляется из частичного представления в контроллер.
В любом случае, я уверен, что это что-то довольно простое, я новичок в MVC, ASP, C #, почти во всем этом. Обычно я многого не спрашиваю у других, но я уже давно смотрю на эту проблему и могу взглянуть на нее свежо.
Заранее спасибо!