我有一个带有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/

10-12 07:40