Привет, У меня есть проблема. Я пытаюсь передать данные в мою базу данных. Проект mvc 4 Я установил ninject в свой проект, чтобы попытаться решить эту проблему, когда я перезапустил свой проект со всеми строками соединения пропали без вести из файла конфигурации XML, к счастью, я поддержал мой проект, и он делает правильно, однако,Не удается добавить поля данных в базу данных SQL
я до сих пор первоначальный вопрос для решения которых эта ошибка
No parameterless constructor defined for this object
Я поставил без параметров конструктор в каждый контроллер I что проблема все еще сохраняется, любые предложения были бы с благодарностью получены, поскольку я должен соответствовать сроку проекта в течение одной недели. У меня есть поле countyID в моей базе данных для параметра id в моем коде, это может быть проблемой, если мне нужно объявить это скрытое поле? Спасибо!
Мой код
Контроллер:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;
using UnityServiceProject.Models;
namespace UnityServiceProject.Controllers
{
public class NewAccountController : Controller
{
//
// GET: /NewAccount/
//public ActionResult Index()
//{
// return View();
//}
[HttpGet]
public ActionResult NewAccount()
{
List<SelectListItem> listItem = new List<SelectListItem>();
NewAccountModel namModel = new NewAccountModel();
listItem.Add(new SelectListItem() { Value = "1", Text = "Antrim" }
);
listItem.Add(new SelectListItem() { Value = "2", Text = "Armagh" }
);
listItem.Add(new SelectListItem() { Value = "3", Text = "Carlow" }
);
listItem.Add(new SelectListItem() { Value = "4", Text = "Cavan" }
);
listItem.Add(new SelectListItem() { Value = "5", Text = "Clare" }
);
listItem.Add(new SelectListItem() { Value = "6", Text = "Cork" }
);
listItem.Add(new SelectListItem() { Value = "7", Text = "Derry" }
);
listItem.Add(new SelectListItem() { Value = "8", Text = "Donegal" }
);
listItem.Add(new SelectListItem() { Value = "9", Text = "Down" }
);
listItem.Add(new SelectListItem() { Value = "10", Text = "Dublin" }
);
listItem.Add(new SelectListItem() { Value = "11", Text = "Fermanagh" }
);
listItem.Add(new SelectListItem() { Value = "12", Text = "Galway" }
);
listItem.Add(new SelectListItem() { Value = "13", Text = "Kerry" }
);
listItem.Add(new SelectListItem() { Value = "14", Text = "Kildare" }
);
listItem.Add(new SelectListItem() { Value = "15", Text = "Kilkenny" }
);
listItem.Add(new SelectListItem() { Value = "16", Text = "Laois" }
);
listItem.Add(new SelectListItem() { Value = "17", Text = "Leitrim" }
);
listItem.Add(new SelectListItem() { Value = "18", Text = "Limerick" }
);
listItem.Add(new SelectListItem() { Value = "19", Text = "Longford" }
);
listItem.Add(new SelectListItem() { Value = "20", Text = "Louth" }
);
listItem.Add(new SelectListItem() { Value = "21", Text = "Mayo" }
);
listItem.Add(new SelectListItem() { Value = "22", Text = "Meath" }
);
listItem.Add(new SelectListItem() { Value = "23", Text = "Monaghan" }
);
listItem.Add(new SelectListItem() { Value = "24", Text = "Offaly" }
);
listItem.Add(new SelectListItem() { Value = "25", Text = "Roscommon" }
);
listItem.Add(new SelectListItem() { Value = "26", Text = "Sligo" }
);
listItem.Add(new SelectListItem() { Value = "27", Text = "Tipperary" }
);
listItem.Add(new SelectListItem() { Value = "28", Text = "Tyrone" }
);
listItem.Add(new SelectListItem() { Value = "4", Text = "Waterford" }
);
listItem.Add(new SelectListItem() { Value = "4", Text = "Westmeath" }
);
listItem.Add(new SelectListItem() { Value = "4", Text = "Wexford" }
);
listItem.Add(new SelectListItem() { Value = "4", Text = "Wicklow" }
);
namModel.County = new SelectList(listItem, "Value", "Text");
return View(namModel);
}
[HttpPost]
public ActionResult NewAccount(UnityServiceProject.Models.NewAccountModel newAcc)
{
if(ModelState.IsValid)
{
using (var db = new UnityServiceEntities())
{
//create New Account entity
var adNewAcc = db.AddNewAccounts.Create();
adNewAcc.charityName = newAcc.charityName;
adNewAcc.charityNumber = newAcc.charityNumber;
adNewAcc.addressLine1 = newAcc.addressLine1;
adNewAcc.addressLine2 = newAcc.addressLine2;
adNewAcc.City = newAcc.City;
adNewAcc.County = newAcc.County.SelectedValue.ToString();
adNewAcc.Phone = newAcc.Phone;
adNewAcc.emailAddress = newAcc.Email;
adNewAcc.registeredPassword = newAcc.registeredPassword;
adNewAcc.Comments = newAcc.Comments;
db.AddNewAccounts.Add(adNewAcc);
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
}
return View(newAcc);
}
public NewAccountController()
{
}
}
}
Модель:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using UnityServiceProject.Models;
namespace UnityServiceProject.Models
{
public class NewAccountModel
{
[Required]
[StringLength(150)]
[Display(Name="Charity Name: ")]
public string charityName { get; set; }
[Required]
[StringLength(150)]
[Display(Name="Charity Number: ")]
public string charityNumber { get; set; }
[Required]
[StringLength(100)]
[Display(Name="Address Line 1: ")]
public string addressLine1 { get; set; }
[Required]
[StringLength(100)]
[Display(Name="Address Line 2: ")]
public string addressLine2 { get; set; }
[Required]
[StringLength(100)]
[Display(Name="City: ")]
public string City { get; set; }
[Required]
[StringLength(100)]
[Display(Name = "Select County: ")]
public SelectList County { get; set; }
[Required]
[StringLength(100)]
[Display(Name = "Select ID: ")]
public SelectList countyID { get; set; }
[Required]
[StringLength(100)]
[Display(Name="Phone Number: ")]
public string Phone { get; set; }
[Required]
[EmailAddress]
[StringLength(150)]//'UserLogin table field' setting max amount of characters
[Display(Name = "Registered Email Address: ")]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
[StringLength(200)]
[Display(Name = "Registered Password: ")]
public string registeredPassword { get; set; }
[StringLength(300)]
[Display(Name = "Comments: ")]
public string Comments { get; set; }
}
}
cshtml:
@model UnityServiceProject.Models.NewAccountModel
@{
ViewBag.Title = "NewAccount";
}
<h2>NewAccount</h2>
@using (@Html.BeginForm()){
@Html.ValidationSummary(true,"Please fill all required fields Thank You.")
<fieldset>
<legend>Create Account</legend>
<ol>
<li>@Html.LabelFor(u => u.charityName)</li>
<li>@Html.TextBoxFor(u => u.charityName)</li>
<li>@Html.LabelFor(u => u.charityNumber)</li>
<li>@Html.TextBoxFor(u => u.charityNumber)</li>
<li>@Html.LabelFor(u => u.addressLine1)</li>
<li>@Html.TextBoxFor(u => u.addressLine1)</li>
<li>@Html.LabelFor(u => u.addressLine2)</li>
<li>@Html.TextBoxFor(u => u.addressLine2)</li>
<li>@Html.LabelFor(u => u.City)</li>
<li>@Html.TextBoxFor(u => u.City)</li>
<li>@Html.LabelFor(u => u.County)</li>
<li>@Html.DropDownListFor(model => Model.countyID, Model.County, "Select County: ", new {id = "ddlCounty"})</li>
<li>@Html.LabelFor(u => u.Phone)</li>
<li>@Html.TextBoxFor(u => u.Phone)</li>
<li>@Html.LabelFor(u => u.Email)</li>
<li>@Html.TextBoxFor(u =>u.Email)</li>
<li>@Html.LabelFor(u => u.registeredPassword)</li>
<li>@Html.TextBoxFor(u => u.registeredPassword)</li>
<li>@Html.LabelFor(u => u.Comments)</li>
<li>@Html.TextBoxFor(u => u.Comments)</li>
</ol>
</fieldset>
<input type="submit" value="New Account" />
}