【发布时间】:2011-07-08 09:18:40
【问题描述】:
public ActionResult DownloadMembers()
{
MembershipUserCollection users = Membership.GetAllUsers();
var grid = new WebControls.GridView();
grid.DataSource = from members in users // the users gives error
select new
{
Name = members.FirstName, // This doesn't works
Email = members.Email // This doesn't works
};
grid.DataBind();
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=" + "Members" + ".xls");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
return RedirectToAction("Index");
}
嗨,上面的查询将会员表中的所有详细信息下载为 ms excel 的 CSV 格式,它给用户一个错误是:
找不到源类型“System.Web.Security.MembershipUserCollection”的查询模式的实现。未找到“选择”。考虑明确指定范围变量“成员”的类型。
谁能指导我如何在 csv 中仅获取用户电子邮件地址和他/她的姓名,而不是获取所有详细信息。
已编辑:这可行:)
grid.DataSource = from MembershipUser u in Membership.GetAllUsers()
select new
{
Firstname = u.UserName,
Email = u.Email
};
【问题讨论】:
标签: c# asp.net-mvc linq-to-sql csv asp.net-membership