我无法将对象添加到列表中 [英] I can't add an object to a list

查看:94
本文介绍了我无法将对象添加到列表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨.我想将一个项目从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆