我无法将对象添加到列表中 [英] I can't add an object to a list
问题描述
嗨.我想将一个项目从GridGroup添加到GridProf Group,但是当我单击btnAdd时不会发生任何事情.在我的页面中,我具有以下控件:
它在dropdownList中显示课程,当我从dpdCourse中选择一个项目时,它将课程组加载到GridGroup中:
Hi. i want Add one item from GridGroup to GridProf Group but when I click btnAdd don''t happen any thing. in my page i have these control:
It shows courses in dropdownList and when I select an item from dpdCourse it loads course''s groups in GridGroup:
<asp:SqlDataSource ID="SqlCourse" runat="server"
ConnectionString="<%$ ConnectionStrings:HomeWorkSystemConnectionString %>"
SelectCommand="SELECT [Name], [Id] FROM [Course]"></asp:SqlDataSource>
<asp:DropDownList ID="dpdCourse" CssClass= "txt" runat="server"
DataSourceID="SqlCourse" DataTextField="Name" DataValueField="Id"
AppendDataBoundItems="True" AutoPostBack="True">
<asp:ListItem Text="select" Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlGroup" runat="server"
ConnectionString="<%$ ConnectionStrings:HomeWorkSystemConnectionString %>"
SelectCommand="SELECT [code], [Day], [Hour], [Capacity], [NumberOfStd], [Id] FROM [CourseGroup] WHERE ([CursId] = @CursId)">
<SelectParameters>
<asp:ControlParameter ControlID="dpdCourse" Name="CursId"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridCrsGroup" runat="server" AutoGenerateColumns="False"
CssClass ="GridStyle" DataKeyNames="Id" DataSourceID="SqlGroup">
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#99CCFF" ForeColor="#333333" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:ButtonField ButtonType="Button" CommandName="Select" DataTextField="Id"
Text="Button">
<ControlStyle BackColor="#006699" />
</asp:ButtonField>
<asp:BoundField DataField="code" HeaderText="code" SortExpression="code" />
<asp:BoundField DataField="Day" HeaderText="Day" SortExpression="Day" />
<asp:BoundField DataField="Hour" HeaderText="Hour" SortExpression="Hour" />
<asp:BoundField DataField="Capacity" HeaderText="Capacity"
SortExpression="Capacity" />
<asp:BoundField DataField="NumberOfStd" HeaderText="NumberOfStd"
SortExpression="NumberOfStd" />
</Columns>
</asp:GridView>
我有一个dropdownList在选择一个项目时显示Professor,该项目在GridProfGroup中显示了Professor的组:
And i have one dropdownList to show Professor when select an item it shows professor''s group in GridProfGroup:
<asp:SqlDataSource ID="SqlProf" runat="server"
ConnectionString="<%$ ConnectionStrings:HomeWorkSystemConnectionString %>"
SelectCommand="SELECT [Id], [Family] FROM [User] WHERE ([UserType] = @UserType)">
<SelectParameters>
<asp:Parameter DefaultValue="P" Name="UserType" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:DropDownList ID="dpdProf" CssClass ="txt" runat="server"
AppendDataBoundItems="True" DataSourceID="SqlProf" DataTextField="Family"
DataValueField="Id" AutoPostBack="True">
<asp:ListItem Text ="انتخاب کنید" Value= "0"></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlProfGroup" runat="server"
ConnectionString="<%$ ConnectionStrings:HomeWorkSystemConnectionString %>"
SelectCommand="SELECT [code], [Day], [Hour], [Capacity], [NumberOfStd], [Id] FROM [CourseGroup] WHERE ([PrfId] = @PrfId)">
<SelectParameters>
<asp:ControlParameter ControlID="dpdProf" Name="PrfId"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridProfGroup" runat="server" CssClass ="GridStyle"
AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlProfGroup">
<Columns>
<asp:ButtonField ButtonType="Button" CommandName="Select" DataTextField="Id"
Text="Button">
<ControlStyle BackColor="#006699" />
</asp:ButtonField>
<asp:BoundField DataField="code" HeaderText="کد" SortExpression="code" />
<asp:BoundField DataField="Day" HeaderText="روز" SortExpression="Day" />
<asp:BoundField DataField="Hour" HeaderText="ساعت" SortExpression="Hour" />
<asp:BoundField DataField="Capacity" HeaderText="ظرفیت"
SortExpression="Capacity" />
<asp:BoundField DataField="NumberOfStd" HeaderText="تعداد دانشجویان"
SortExpression="NumberOfStd" />
</Columns>
并且我有一个按钮,用于将选定的项目从GridGroup添加到GridProfGroup并将其添加到教授的列表< group> ;:
在后面的代码中:
and I have a button that add selected item from GridGroup to GridProfGroup and add it to professor''s list<group>:
In code behind:
protected void btnAdd_Click(object sender, EventArgs e)
{
int index = (int)GridCrsGroup.SelectedDataKey.Value;
var group = DB.CourseGroups.Where(g => g.Id == index).First();
int profId = Convert.ToInt32( dpdProf.SelectedItem.Value);
Professor selectedProf = (Professor)DB.Users.Where(p => p.Id == profId).First();
selectedProf.AddGroup(group);
group.AssignProfessor(selectedProf);
GridProfGroup.DataBind();
}
在CourseGroup表中,DB ProfId(教授的ID)仍然为空.如果有帮助,我可以将ProfId更改为:Allow null =是,因为在定义组的位置没有分配教授,因此我在此页面中对其进行了分配.
谢谢.
And in CourseGroup tabel DB ProfId(professor''s Id) is still null. If it helps I Change the ProfId to : Allow null = Yes, because where I were defining a group I were not assign its professor I assign it in this Page.
thank you.
推荐答案
ConnectionStrings:HomeWorkSystemConnectionString%>" SelectCommand = " </ > < asp:DropDownList ID = " CssClass = " runat = " DataSourceID = " DataTextField = " 名称" DataValueField = Id" AppendDataBoundItems = " AutoPostBack = " True" " Value = " > ></ asp:ListItem > </ asp:DropDownList > < asp:SqlDataSource ID = " runat = " ConnectionString = "
ConnectionStrings:HomeWorkSystemConnectionString %>" SelectCommand="SELECT [Name], [Id] FROM [Course]"></asp:SqlDataSource> <asp:DropDownList ID="dpdCourse" CssClass= "txt" runat="server" DataSourceID="SqlCourse" DataTextField="Name" DataValueField="Id" AppendDataBoundItems="True" AutoPostBack="True"> <asp:ListItem Text="select" Value="0"></asp:ListItem> </asp:DropDownList> <asp:SqlDataSource ID="SqlGroup" runat="server" ConnectionString="<%
ConnectionStrings:HomeWorkSystemConnectionString%>" 跨度> SelectCommand = " > < SelectParameters> < asp:ControlParameter ControlID = " Name = " PropertyName = " Type = " Int32"/> </ SelectParameters > </ asp:SqlDataSource > < asp:GridView ID = " runat = " AutoGenerateColumns = " CssClass = " DataKeyNames = " Id" DataSourceID = SqlGroup" > < HeaderStyle BackColor = " Font-Bold = " ForeColor = " " ForeColor = " #333333"/> < AlternatingRowStyle BackColor = " /> <列> < asp:ButtonField ButtonType = " CommandName = " DataTextField = " Text = " ">> < ControlStyle BackColor = " /> </ asp:ButtonField > < asp:BoundField DataField = " HeaderText = " SortExpression = " /> < asp:BoundField DataField = " HeaderText = " SortExpression = " /> < asp:BoundField DataField = " HeaderText = " SortExpression = " /> < asp:BoundField DataField = " HeaderText = " SortExpression = " /> < asp:BoundField DataField = " HeaderText = " SortExpression = " /> </ 列 > </ asp:GridView >
ConnectionStrings:HomeWorkSystemConnectionString %>" SelectCommand="SELECT [code], [Day], [Hour], [Capacity], [NumberOfStd], [Id] FROM [CourseGroup] WHERE ([CursId] = @CursId)"> <SelectParameters> <asp:ControlParameter ControlID="dpdCourse" Name="CursId" PropertyName="SelectedValue" Type="Int32" /> </SelectParameters> </asp:SqlDataSource> <asp:GridView ID="GridCrsGroup" runat="server" AutoGenerateColumns="False" CssClass ="GridStyle" DataKeyNames="Id" DataSourceID="SqlGroup"> <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#99CCFF" ForeColor="#333333" /> <AlternatingRowStyle BackColor="White" /> <Columns> <asp:ButtonField ButtonType="Button" CommandName="Select" DataTextField="Id" Text="Button"> <ControlStyle BackColor="#006699" /> </asp:ButtonField> <asp:BoundField DataField="code" HeaderText="code" SortExpression="code" /> <asp:BoundField DataField="Day" HeaderText="Day" SortExpression="Day" /> <asp:BoundField DataField="Hour" HeaderText="Hour" SortExpression="Hour" /> <asp:BoundField DataField="Capacity" HeaderText="Capacity" SortExpression="Capacity" /> <asp:BoundField DataField="NumberOfStd" HeaderText="NumberOfStd" SortExpression="NumberOfStd" /> </Columns> </asp:GridView>
我有一个dropdownList在选择一个项目时显示Professor,该项目在GridProfGroup中显示了Professor的组:
And i have one dropdownList to show Professor when select an item it shows professor''s group in GridProfGroup:
<asp:SqlDataSource ID="SqlProf" runat="server"
ConnectionString="<%
ConnectionStrings:HomeWorkSystemConnectionString%>" 跨度> SelectCommand = " > < SelectParameters> < asp:参数DefaultValue = " Name = " Type = " /> </ SelectParameters > </ asp:SqlDataSource > < asp:DropDownList ID = " CssClass = " runat = " AppendDataBoundItems = " DataSourceID = " SqlProf" DataTextField = 家庭" DataValueField = " AutoPostBack = " 真实" " Value = " > >< / asp:ListItem > </ asp:DropDownList > < asp:SqlDataSource ID = " runat = " ConnectionString = "
ConnectionStrings:HomeWorkSystemConnectionString %>" SelectCommand="SELECT [Id], [Family] FROM [User] WHERE ([UserType] = @UserType)"> <SelectParameters> <asp:Parameter DefaultValue="P" Name="UserType" Type="String" /> </SelectParameters> </asp:SqlDataSource> <asp:DropDownList ID="dpdProf" CssClass ="txt" runat="server" AppendDataBoundItems="True" DataSourceID="SqlProf" DataTextField="Family" DataValueField="Id" AutoPostBack="True"> <asp:ListItem Text ="انتخاب کنید" Value= "0"></asp:ListItem> </asp:DropDownList> <asp:SqlDataSource ID="SqlProfGroup" runat="server" ConnectionString="<%
这篇关于我无法将对象添加到列表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!