2015-04-13 3 views
0

Я работаю над моделью 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 
    } 

Я не знаю, если его из-за неправильно представить метод или проверки проблемы ,,, так как форма проверки также не работает ... никаких ссылок или справку об отладке с светлячок также поможет ... Если кто-то может, пожалуйста, помогите ... Спасибо за ваше время

+1

Вы имеете в виду, когда вы возвращаете представление, если 'ModelState' является недействительным? Вам нужно вернуть модель - 'return View (salesvm)' –

+1

Вам также нужно показать свою модель с атрибутами проверки, которые вы применяете. –

+0

спасибо за ответ. У меня есть точка останова на состоянии модели, но состояние модели еще не выполнено ... –

ответ

2

Я думаю, вы используете 2 <form> первый генерируемый бритвой @using (Html.BeginForm("Create", "Sales", FormMethod.Post, new { enctype = "multipart/form-data" })), а второй - тот, который вы написали в этом блоке! попробуйте удалить второй!

@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) 
@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> 
} 
+0

Да, это был также фактор наряду с некоторыми другими «глупыми» факторами ,,,, рад, что вы помогли ..... Спасибо большое –

2

Попытки изменить связанную линию это на вашем взгляде:

@using (Html.BeginForm("Create", "YourControllerName", FormMethod.Post, new { enctype = "multipart/form-data" })) 

Надеется, что это помогает ...

+0

спасибо за ответ ,,, но я уже проверяю, что –

+1

Вы проверяете пожалуйста и обновляете последний статус вашего кода? Отсутствует фигурная скобка, и вы должны изменить ** ** строка до **} ** –

+0

нет скобки в порядке ,,, удалены некоторые необязательные коды для лучшего понимания –

Смежные вопросы