我使用visual studio 2010设计网页,我使用了图层
编程,我正在使用gidview和objectdatasource,但我得到了这个例子:"The type 'WebApplication4.view1' is ambiguous: it could come from assembly
'C:\Users\EHSAN\AppData\Local\Temp\Temporary ASP.NET
Files\root\d04444bc\d654bde6\App_Code.i0fp6yrj.DLL' or from assembly
'C:\Users\EHSAN\Documents\Visual Studio
2010\Projects\WebApplication4\WebApplication4\bin\WebApplication4.DLL'. Please
specify the assembly explicitly in the type name."
我把我的代码放在这里:
这是我的web.aspx:
<asp:ObjectDataSource ID="ObjectDataSource1" Runat="server" TypeName="WebApplication4.view1"
SelectMethod="Search" OldValuesParameterFormatString="original_{0}" >
</asp:ObjectDataSource>
这是APP_Code中BAL文件夹中的search.cs文件:
namespace WebApplication4
{
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Data;
public class view1 : System.Web.UI.Page
{
public view1()
{ }
public List<person> Search()
{
List<person> persons = new List<person>();
DataSet ds = PersonsDB.Search();
foreach (DataRow row in ds.Tables[0].Rows)
{
persons.Add(new person((String)row["id"], (String)row["nam"], (String)row["family"], (String)row["namepedar"], (String)row["shshenas"], (String)row["codemelli"]));
}
return persons;
}
}
问题出在哪里?
答案 0 :(得分:10)
尝试将Search.cs文件移出App_Code文件夹,看看它是否有效。我有同样的问题,我把它移出去,它开始工作。
答案 1 :(得分:3)
我有同样的错误。我创建了 WebUserControl 项目,其中包含名为 control1 的控件。我还有项目 Website1 ,其中我使用了我的control1(使用项目构建事件将 control1 复制到 Website1 )。它工作正常,但后来我复制了 Website1 项目并重命名为 Website2 项目。在 website2 我收到此错误。干净,重建没有解决。我删除了Website2 \ bin文件夹中的所有文件并构建了 Website2 项目。错误解决了。
答案 2 :(得分:2)
当项目中有两个具有相同名称的类时,通常会由于复制和粘贴错误而发生这种情况。
你能检查一下在其他地方是否还有其他名为view1
的课程吗?
如果这不是问题,请尝试清理临时Web文件,如下所示: Clearing out temporary asp.net files
答案 3 :(得分:0)
当您添加对解决方案的引用时,请将该文件属性复制到本地为&#34; False&#34;。所以当我们构建解决方案时它不会被复制,我们也不会得到错误。这个对我有用。请试试这个。
答案 4 :(得分:0)
右键单击网站/ Web应用程序属性,并使用目标名称设置程序集名称字段。
例如:如果应用程序命名为XYZ
并使用命名空间命名为companyname.dept.XYZ
,则应用程序可能有2个单独的dll。 XYZ.dll
和companyname.dept.XYZ.dll
可能会导致冲突。