【发布时间】:2019-06-30 07:22:59
【问题描述】:
我创建了一个使用 WCF 服务的基本应用程序。该应用程序执行基本的插入更新删除操作。
我已经像这样定义了我的IService 接口:
[ServiceContract]
public interface IService1
{
[OperationContract]
IEnumerable<Person> GetPersons();
[OperationContract]
IEnumerable<Person> GetPersonsByFNameAndLName(string FName,string LName);
[OperationContract]
void InsertPerson(Person personobj);
[OperationContract]
void UpdatePerson(Person personobj);
[OperationContract]
void DeletePerson(int id);
}
[DataContract]
public class Person
{
[DataMember]
[Key]
[Required]
public int Id { get; set; }
[DataMember]
[Required]
public string FName { get; set; }
[DataMember]
[Required]
public string MName { get; set; }
[DataMember]
[Required]
public string LName { get; set; }
[DataMember]
[Required]
public DateTime DOB { get; set; }
[DataMember]
[Required]
public string Adddress { get; set; }
[DataMember]
[Required]
public string NIC { get; set; }
}
这是我的service1.svc.cs 类文件的代码(它包含获取人员列表和更新人员的方法的代码段)
public class Service1 : IService1
{
public IEnumerable<Person> GetPersons()
{
List<Person> personList = new List<Person>();
PersonContext po = new PersonContext();
personList = po.Persons.ToList();
return personList;
}
public void UpdatePerson(Person personobj)
{
PersonContext po = new PersonContext();
var c = (from per in po.Persons
where per.Id == personobj.Id
select per).First();
c.FName = personobj.FName;
c.LName = personobj.LName;
c.MName = personobj.MName;
po.SaveChanges();
}
}
我的数据库上下文类如下所示:
public class PersonContext : DbContext
{
public PersonContext() : base("PersonCS")
{
}
public DbSet<Person> Persons { get; set; }
}
我在web.config 文件中使用PersonCS 数据库连接来连接我的数据库。
我已将此服务添加为对我的 ASP.NET MVC 项目的服务引用。
这是我的 ASP.NET MVC 项目中控制器类的代码。代码段有查看和更新的方法。
public class PersonController : Controller
{
public ActionResult getPersons()
{
Service1Client SEObj = new Service1Client();
List<Person>PeLi =SEObj.GetPersons().ToList();
ViewBag.List = PeLi;
return View();
}
public ActionResult updatePerson()
{
return View();
}
[HttpPost]
public ActionResult updatePerson(Person personobj)
{
Service1Client SCOBJ = new Service1Client();
SCOBJ.UpdatePerson(personobj);
return View();
}
}
这是我的视图背后的代码:
<form method="post" action="@Url.Action("updatePerson")">
ID:<input type="text" name="Id" />
<br />
First Name: <input type="text" name="FName" />
<br />
Middle Name: <input type="text" name="MName" />
<br />
Last Name: <input type="text" name="LName" />
<br />
Date of Birth:<input type="date" id="start" name="DOB" value="2018-07-22" min="1900-01-01" max="2000-12-31" />
<br />
NIC:<input type="text" name="NIC" />
<br />
Address:<input type="text" name="Adddress" />
<br />
<input type="submit" value="Insert" />
</form>
在视图中,我尝试手动输入 ID 并删除。
我想要做的是用数据库中可用的 id 填充一个组合框,然后从组合框中的 id 中进行选择。
谁能帮助我或指导我实现这一目标?
【问题讨论】:
标签: c# asp.net-mvc wcf drop-down-menu