我有一個頁面,顯示我的應用程序的組列表。組中可以有多個用戶。組列表是用gridview實現的。除了組描述的列外,gridview還有一個用於添加用戶的按鈕。當我點擊這個按鈕時,groupid被傳遞到一個新頁面,在這個頁面上有另一個gridview和一個用戶列表。 gridview還有一個buttonfield用於將特定用戶添加到組的組ID。爲此,我有一個額外的表:插入語句不插入任何數據
用戶組
usergroupid
userid
groupid
我的問題是,沒有被插入到這個表中,執行INSERT命令,但事情似乎缺少。
這是我的代碼:
標記:
<asp:Content ID="content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:GridView OnRowCommand="grdBenutzer_RowCommand" ID="grdBenutzer" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField ReadOnly="true" DataField="BenutzerID" HeaderText="ID" />
<asp:TemplateField HeaderText="Bezeichnung">
<ItemTemplate>
<%# Eval("Bezeichnung")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList AppendDataBoundItems="true" runat="server" ID="ddwnBezeichnung" Text='<%# Bind("Bezeichnung")%>'>
<asp:ListItem Text="Mitarbeiter" Value="Mitarbeiter"></asp:ListItem>
<asp:ListItem Text="Praktikant" Value="Praktikant"></asp:ListItem>
<asp:ListItem Text="Azubi" Value="Azubi"></asp:ListItem>
<asp:ListItem Text="Umschüler" Value="Umschüler"></asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Vorname">
<ItemTemplate>
<%# Eval("Vorname")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtVorname" Text='<%# Bind("Vorname")%>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Nachname">
<ItemTemplate>
<%# Eval("Nachname")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtNachname" Text='<%# Bind("Nachname")%>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField ReadOnly="true" HeaderText="Geburtsdatum" DataField="Geburtsdatum" />
<asp:TemplateField HeaderText="Benutzerart">
<ItemTemplate>
<%# Eval("Benutzerart")%>
</ItemTemplate>
</asp:TemplateField>
<asp:ButtonField ButtonType="Button" HeaderText="Mitglied hinzufügen" Text="Mitglied hinzufügen" CommandName="MitgliedHinzufuegen" />
</Columns>
</asp:GridView>
<asp:SqlDataSource OnInserted="SqlDataSource1_Inserted" ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [BenutzerID], [Bezeichnung], [Vorname], [Geburtsdatum], [Nachname], [Benutzerart] FROM [Benutzer] WHERE [Archiviert] != 1"
InsertCommand="INSERT INTO BenutzerGruppe (BenutzerID, GruppenID) VALUES (@BenutzerID, @GruppenID)">
</asp:SqlDataSource>
</asp:Content>
代碼隱藏:
protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
Response.Redirect("Gruppenverwaltung.aspx");
}
protected void grdBenutzer_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "MitgliedHinzufuegen")
{
string gruppenid = Request.QueryString["GruppenID"];
SqlDataSource1.InsertParameters.Add("GruppenID", gruppenid);
SqlDataSource1.Insert();
}
}
插入的方法閃光後我的用戶添加到組中,但是當我觀看該組的成員,沒有添加用戶....
再次你做同樣的錯誤 – 2013-03-21 15:32:42
抱歉,但正如我所說,我是非常新的ASP和SQL,這實際上是我用這種語言寫的第一個應用程序... – LeonidasFett 2013-03-21 15:38:02
好的謝謝你指出。我再次閱讀你的帖子,現在它的工作原理:) – LeonidasFett 2013-03-21 15:59:17