我有一个带有sqldatasource的listview并且链接按钮没有启动,但是如果我使用String数组作为数据源,它们就会启动。我的代码中缺少什么吗?
aspx页面:
<%
SqlDataSourceArticoleUser.ConnectionString = conn;
SqlDataSourceArticoleUser.SelectCommand = "SELECT top 10 * FROM (SELECT ROW_NUMBER() OVER (ORDER BY id desc) AS Row, * FROM articole) AS EMP WHERE Row >" + pag + " and username='" + user + "'";
%>
<asp:ListView ID="ListViewArticoleUser" runat="server" DataSourceID="SqlDataSourceArticoleUser">
<LayoutTemplate>
<ul>
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</ul>
</LayoutTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButtonEditArticolEdit" runat="server" Text="edit" CommandName="articoledit"></asp:LinkButton>
<asp:LinkButton ID="LinkButtonStergeArticolEdit" runat="server" Text="sterge" CommandName="articolsterge"></asp:LinkButton>
</ItemTemplate>
</asp:ListView>
<asp:SqlDataSource ID="SqlDataSourceArticoleUser" runat="server"></asp:SqlDataSource>
aspx.cs页面:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SqlDataSourceArticoleUser.DataBind();
}
}
protected void Page_Init(object sender, EventArgs e)
{
ListViewArticoleUser.ItemCommand += new EventHandler<ListViewCommandEventArgs>(ListViewArticoleUser_EventHandler);
}
protected void ListViewArticoleUser_EventHandler(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName == "articolsterge")
{
}
}
最佳答案
我认为您丢失了某些内容...当使用字符串数组作为数据源时,将使用默认的c#dataadapter,其中包含有关删除,更新和插入的说明。
使用sql数据源时,必须配置.net处理这些操作的方式。我可以看到您刚刚配置了选择操作。为了拥有完整功能的sqldatasource,我认为您必须填充其他操作。
查看本文以帮助您使用数据源:http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/sqldatasource.aspx!
特别是这部分:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:Pubs %>"
SelectCommand="SELECT [au_id], [au_lname], [au_fname], [state] FROM [authors]"
UpdateCommand="UPDATE [authors] SET [au_id] = @au_id, [au_lname] = @au_lname,[au_fname] = @au_fname, [state] = @state WHERE [au_id] = @original_au_id"
DeleteCommand="DELETE FROM [authors] WHERE [au_id] = @original_au_id"/>
关于c# - sqldatasource问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4661466/