Я работаю над моделью SalesVM, нажмите кнопку «Сохранить», чтобы отправить значения для создания действия ... Но когда я нажимаю кнопку «Сохранить», создайте перезагрузки формы и все поля пустые. (Странно для меня) вещь в том, что все значки, которые я заполнил текстовыми полями, теперь находятся в url .... !!! ??Значения, не отправляемые в действие контроллера
На вкладке DOM в поджигатель ,,, Ошибка: Прогнозируемая Url: продажа/создать SMClientBranchId = 1 & IsCompleted = верно & IsActive = истина»
мой взгляд код:
@model SM.CRM.AutosLoan.Models.Core.ViewModels.SalesVM
@using (Html.BeginForm("Create", "Sales", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<form>
@Html.TextBoxFor(model => model.RegistrationNumber)
@Html.DropDownList("SMClientBranchId",IEnumerable<SelectListItem>)ViewBag.SMClientBranchId)
@Html.CheckBoxFor(model => model.IsCompleted)
@Html.CheckBoxFor(model => model.IsActive)
<div class="form-group">
<button type="submit" class="btn btn-sm btn-info" >Save</button>
</div>
</form>
}
создать actionspost контроллера является ....
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "IsCompleted, SMClientBranchId, IsActive, CreatedBy, ModifiedBy, CreatedDate, ModifiedDate")] SalesVM salesvm)
{
if (ModelState.IsValid)
{
SalesDM salesdm = new SalesDM();
// save sales info
salesdm.SMClientBranchId = salesvm.SMClientBranchId;
salesdm.IsActive = salesvm.IsActive;
salesdm.IsCompleted = salesvm.IsCompleted;
salesdm.CreatedBy = "someone";
salesdm.CreatedDate = DateTime.Now;
db.Sale.Add(salesdm);
db.SaveChanges();
return RedirectToAction("Index");
}
return View();
}
SaleVM:
public class SalesVM
{
#region Public Properties
public int SMClientBranchId { get; set; }
public SMClientBranchesDM SMClientBranch { get; set; }
public bool IsCompleted { get; set; }
public bool IsActive { get; set; }
public string CreatedBy { get; set; }
public string ModifiedBy { get; set; }
public DateTime? CreatedDate { get; set; }
public DateTime? ModifiedDate { get; set; }
#endregion
}
Я не знаю, если его из-за неправильно представить метод или проверки проблемы ,,, так как форма проверки также не работает ... никаких ссылок или справку об отладке с светлячок также поможет ... Если кто-то может, пожалуйста, помогите ... Спасибо за ваше время
Вы имеете в виду, когда вы возвращаете представление, если 'ModelState' является недействительным? Вам нужно вернуть модель - 'return View (salesvm)' –
Вам также нужно показать свою модель с атрибутами проверки, которые вы применяете. –
спасибо за ответ. У меня есть точка останова на состоянии модели, но состояние модели еще не выполнено ... –