【发布时间】:2013-03-05 14:57:24
【问题描述】:
我有一个 linq 查询,它填充了 Page_Load 上的 GridView。我为字母表制作了一个for 字符循环。在填充LinkButton 的LinkButton 的.Command 中,我正在使用查询中的相同参数运行一个非常相似的查询并得到以下错误。
类型“f__AnonymousType2”同时存在于“ConcernContracts.dll”和“System.Web.WebPages.Deployment.dll”中
void lnkCharacter_Command(object sender, CommandEventArgs e)
{
try
{
var lbtn = (LinkButton)lbl_Alphabet.FindControl("lnkCharacter" + e.CommandArgument);
var id = lbtn.Text;
using (var db = new dbDataContext())
{
var query = from n in db.tbl_Providers
where ((n.provider_Name.StartsWith(id)) && (n.provider_Deleted == false))
select new
{
n.ProviderId,
n.provider_Name
};
grd_Provider.DataSource = null;
grd_Provider.DataSource = query;
grd_Provider.DataBind();
}
}
catch (SystemException ex) { }
}
LoadGrid() 是相同的,但它不使用.StartsWith() 条件。
您有任何解决此错误的想法吗?
该错误不会引发异常,但不会为任一查询填充网格。在以下行中发现了错误:grd_Provider.DataSource = query;
【问题讨论】:
-
项目是否在同一个解决方案中?它们有相同的命名空间吗?
-
重建、清理、构建。
-
是的,它们在同一个解决方案中。查询在同一页面上。
-
同意前面的,添加命名空间 - 如果这是一个 Web 项目,您可能需要在执行此操作时将代码移动到 app_code 文件夹。另外 - 顺便说一句,我会删除空的 catch 语句,这不是一个好主意。如果您发现错误,请对它们进行处理 - 提醒用户或至少将它们记录在某个地方等。