2011-01-11 11 views
2

Ich habe eine Listview mit einer sqldatasource und die Link-Schaltflächen werden nicht ausgelöst, aber wenn ich als Datenquelle ein String-Array verwenden, werden sie gefeuert. Fehle ich etwas in meinem Code?sqldatasource Problem

aspx Seite:

<% 
    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 Seite:

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") 
     { 
     } 
    } 
+0

Auch erinnern mich mit dem Benutzernamen auf dieser Website zu registrieren: ‚; lösche * von articole; – Robaticus

Antwort

1

Ich glaube, Sie etwas vermissen ... Wenn Sie ein String-Array als Datenquelle verwenden, werden Sie die Standard-C# Datenadapter, der Anweisungen zum Löschen, Aktualisieren und Einfügen enthält.

Wenn Sie mit einer SQL-Datenquelle arbeiten, müssen Sie konfigurieren, wie .net mit diesen Operationen umgehen soll. Ich kann sehen, dass Sie gerade den Auswahlvorgang konfiguriert haben. Um eine voll funktionsfähige sqldatasource zu haben, müssen Sie andere Operationen ausführen.

Überprüfen Sie diesen Artikel, um Ihnen mit Ihrer Datenquelle zu helfen: http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/sqldatasource.aspx!

Speziell dieser Teil:

<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"/> 
Verwandte Themen