繁体   English   中英

如何通过Mvc中的类库从SQL Server传递数据并将其显示给视图?

[英]How to pass data from SQL Server through class library in mvc and show it to the view?

我有一个带有表的SQL Server数据库,该表与具有.DBML Linq-to-SQL模型的类库连接,并且我必须将数据从SQL Server通过类库传递到ASP.NET .DBML我该怎么做?

public static Kontakt ViewContakt(int ID)
{
    ContactManagerDBDataContext con = new ContactManagerDBDataContext();

    var linq = (from cont in con.Contacts where cont.ContactID == ID select cont).First();

    Kontakt kontakt = new Kontakt();
    kontakt.FirstName = linq.FirstName;
    kontakt.LastName = linq.LastName;
    kontakt.Address = linq.Address;
    kontakt.ContactTypeID = linq.ContactTypeID;
    kontakt.ContactID = linq.ContactID;
    kontakt.InsertDate = linq.InsertDate;

    return kontakt;
}

这是我创建linq查询并将我的联系人从SQL Server映射到类库中的Kontakt地方。

public static KontaktModel View( int ID)
{
    Kontakt kontakt = new Kontakt();
    KontaktModel kontaktModel = new KontaktModel();

    kontaktModel.Address = kontakt.Address;
    kontaktModel.ContactID = kontakt.ContactID;
    kontaktModel.ContactTypeID = kontakt.ContactTypeID;
    kontaktModel.FirstName = kontakt.FirstName;
    kontaktModel.InsertDate = kontakt.InsertDate;
    kontaktModel.LastName = kontakt.LastName;

    Class1.ViewContakt(ID);

    return kontaktModel;
}

然后,我在ASP.NET MVC中执行相同的操作,尝试将Kontakt从类库KontaktModel到ASP.NET MVC中的KontaktModel

然后,我尝试将该函数传递给控制器​​,然后将该函数传递给视图,即View的ID。

public ActionResult View(int ID)
{
    return View(Functions.View(ID));
}

所有联系人

视图的Index代码是:

<%=Html.ActionLink("View", "View", new { ID = m.ContactID })%>

单击查看时的结果

这是我在视图中的html:

Contact ID <%= Model.ContactID.ToString()%><br />
Contact Type ID <%= Model.ContactTypeID.ToString()%><br />
First Name <%= Model.FirstName%><br />
Last Name <%= Model.LastName%><br />
Address <%= Model.Address %><br />
Insert Date <%= Model.InsertDate %><br />

我的观点HTML是强类型,他使用Model.KontaktModel类。

我究竟做错了什么?

在方法中

public static KontaktModel View( int ID)

您从新创建的对象传递数据,而是需要首先从方法中获取数据

Kontakt kontakt = Class1.ViewContakt(ID);

那么它将起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM