从数据库中检索数据并显示在detailsview中
本文关键字:显示 detailsview 数据 数据库 检索 | 更新日期: 2023-09-27 18:08:44
我想从数据库中检索当前登录的SharePoint用户的数据,并在detailsview的控件上显示它。但我真的不知道如何以最好的方式做到这一点。这是我尝试过的代码,但它显示null
。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
GetEmployeeCv();
}
}
private void GetEmployeeCv()
{
using (var db = new KnowItCvdbEntities())
{
SPWeb theSite = SPControl.GetContextWeb(Context);
SPUser theUser = theSite.CurrentUser;
string strUserName = theUser.LoginName;
var theEmpl =(from p in db.EMPLOYEES
where p.username == strUserName
select p).FirstOrDefault();
if(theEmpl != null)
{
Image empImg = (Image)DetailsViewShowFullCv.FindControl("imageProfPic");
empImg.ImageUrl = theEmpl.image;
}
}
}
如果我想绑定我的detailsview,如:
Image empImg = (Image)DetailsViewShowFullCv.FindControl("imageProfPic");
empImg.ImageUrl = theEmpl.image;
DetailsViewShowFullCv.DataSource = ??;
DetailsViewShowFullCv.DataBind();
我真的不知道该怎么做。有人能帮我吗?
a)数据源应该是保存数据的变量。在本例中,它将是
b)通过调试器运行此命令以检查strUserName是否为您所期望的。LoginName字段通常返回域和用户名,如"domain ' username",所以如果你只将username部分存储在数据库中,而没有domain '
,则有可能返回null(默认为null)值。c)对于Databinding,要么将您的LINQ查询更改为p.FieldNameToDatabind,要么知道如何在asp标记中编写databinind代码,以便您可以实际显示字段