net。我正在使用Visual Studio 2010中的数据视图进行设计.GridView和DetailsView运行时没有任何问题。在FormView中,因为我正在尝试使用以下代码开发编辑模板:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>"
onselecting="SqlDataSource1_Selecting" SelectCommand="SELECT * FROM [student]"
UpdateCommand="Update student set Id=@Id, Name=@Name, City=@City, Marks=@Marks where Id=@Id" >
</asp:SqlDataSource>
我收到如下错误:
'ASP.default_aspx'
不包含'SqlDataSource1_Selecting'
的定义,并且没有可以找到接受类型'SqlDataSource1_Selecting'
的第一个参数的扩展方法'ASP.default_aspx'
(您是否缺少using指令或汇编参考?)
我该如何解决?
答案 0 :(得分:1)
这是因为你定义了
onselecting="SqlDataSource1_Selecting"
但可能在后面的代码中没有带正确签名的功能
答案 1 :(得分:1)
错误:强>
ASP.default_aspx'不包含。的定义 'sqlDataSource1_Selecting'并没有扩展方法 'sqlDataSource1_Selecting'接受第一个类型的参数 可以找到'ASP.default_aspx'(你错过了一个using指令吗? 或汇编参考?)
您的代码
<asp:SqlDataSource ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>"
onselecting="SqlDataSource1_Selecting"
SelectCommand="SELECT * FROM [student]"
UpdateCommand="Update student set Id=@Id,
Name=@Name,
City=@City,
Marks=@Marks
where Id=@Id" >
</asp:SqlDataSource>
问题使用代码
onselecting="SqlDataSource1_Selecting" there is no extension for this available
<强>更新强>
您的Web.config定义OleDb连接字符串(用于OleDb引擎),该字符串使用SQL Server OleDb提供程序通过OleDb连接到SQL Server。
然后,您的代码将该连接字符串传递给SqlConnection,SqlConnection使用SQL本机客户端直接连接到SQL Server,并使用完全不同的连接字符串。
您应该将Web.config更改为使用System.Data.SqlClient及其连接字符串格式。 (这比OleDb更有效)