.NET ListView没有填充控件选择

时间:2015-03-11 15:56:25

标签: c# asp.net entity-framework listview

我在.NET中有一个ListView连接到各种CRUD方法,接受一个值的select方法似乎没有工作。数据源应该从下拉列表控件中获取值,并获取所选值。当我在visual studio中进行配置数据源方法时,我选择此方法进行选择操作:

EntReqList_byID(Int32 programID), returns List<EntranceRequirementInfo>

然后,当我在向导的下一部分中定义参数时,我选择control作为参数源,控件ID设置为CertificateList,它将programID显示为CertificateList.SelectedValue中的参数。

当我运行页面,并从CertificateList中选择一个项目,然后单击&#34;显示程序&#34;时,除了列表视图中的数据外,我的所有数据都被拉出。我的代码如下:

我的页面顶部:     

        请选择程序凭证类型:

    <asp:DropDownList ID="InitialCredential" runat="server" AutoPostBack="True" OnSelectedIndexChanged="InitialCredential_SelectedIndexChanged">
        <asp:ListItem>[Select]</asp:ListItem>
        <asp:ListItem>Certificate</asp:ListItem>
        <asp:ListItem>Diploma</asp:ListItem>
        <asp:ListItem>Degree</asp:ListItem>
    </asp:DropDownList>
</p>
<p>
    Please select a program:
    <asp:DropDownList ID="CertificateList" runat="server" DataSourceID="CertificateODS" DataTextField="ProgramName" DataValueField="ProgramID" Visible="false"></asp:DropDownList>
    <asp:DropDownList ID="DiplomaList" runat="server" DataSourceID="DiplomaListODS" DataTextField="ProgramName" DataValueField="ProgramID" Visible="false"></asp:DropDownList>
    <asp:DropDownList ID="DegreeList" runat="server" DataSourceID="DegreeListODS" DataTextField="DegreeName" DataValueField="DegreeID" Visible="false"></asp:DropDownList>
</p>
<p>
    <asp:LinkButton ID="ShowUpdateFields" runat="server" OnClick="ShowUpdateFields_Click">Show Program</asp:LinkButton>
</p>

我的ListView:

<asp:ListView ID="EntReqListView" runat="server" DataSourceID="EntranceReqODS" InsertItemPosition="LastItem">
            <AlternatingItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" />
                        <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
                    </td>
                    <td>
                        <asp:Label ID="ProgramIDLabel" runat="server" Text='<%# Eval("ProgramID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="CourseIDLabel" runat="server" Text='<%# Eval("CourseID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="CourseNameLabel" runat="server" Text='<%# Eval("CourseName") %>' />
                    </td>
                    <td>
                        <asp:Label ID="MarkLabel" runat="server" Text='<%# Eval("Mark") %>' />
                    </td>
                </tr>
            </AlternatingItemTemplate>
            <EditItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
                    </td>
                    <td>
                        <asp:TextBox ID="ProgramIDTextBox" runat="server" Text='<%# Bind("ProgramID") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="CourseIDTextBox" runat="server" Text='<%# Bind("CourseID") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="CourseNameTextBox" runat="server" Text='<%# Bind("CourseName") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="MarkTextBox" runat="server" Text='<%# Bind("Mark") %>' />
                    </td>
                </tr>
            </EditItemTemplate>
            <EmptyDataTemplate>
                <table runat="server" style="">
                    <tr>
                        <td>No data was returned.</td>
                    </tr>
                </table>
            </EmptyDataTemplate>
            <InsertItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" />
                    </td>
                    <td>
                        <asp:TextBox ID="ProgramIDTextBox" runat="server" Text='<%# Bind("ProgramID") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="CourseIDTextBox" runat="server" Text='<%# Bind("CourseID") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="CourseNameTextBox" runat="server" Text='<%# Bind("CourseName") %>' />
                    </td>
                    <td>
                        <asp:TextBox ID="MarkTextBox" runat="server" Text='<%# Bind("Mark") %>' />
                    </td>
                </tr>
            </InsertItemTemplate>
            <ItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" />
                        <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
                    </td>
                    <td>
                        <asp:Label ID="ProgramIDLabel" runat="server" Text='<%# Eval("ProgramID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="CourseIDLabel" runat="server" Text='<%# Eval("CourseID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="CourseNameLabel" runat="server" Text='<%# Eval("CourseName") %>' />
                    </td>
                    <td>
                        <asp:Label ID="MarkLabel" runat="server" Text='<%# Eval("Mark") %>' />
                    </td>
                </tr>
            </ItemTemplate>
            <LayoutTemplate>
                <table runat="server">
                    <tr runat="server">
                        <td runat="server">
                            <table id="itemPlaceholderContainer" runat="server" border="0" style="">
                                <tr runat="server" style="">
                                    <th runat="server"></th>
                                    <th runat="server">ProgramID</th>
                                    <th runat="server">CourseID</th>
                                    <th runat="server">CourseName</th>
                                    <th runat="server">Mark</th>
                                </tr>
                                <tr id="itemPlaceholder" runat="server">
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr runat="server">
                        <td runat="server" style="">
                            <asp:DataPager ID="DataPager1" runat="server">
                                <Fields>
                                    <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowLastPageButton="True" />
                                </Fields>
                            </asp:DataPager>
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
            <SelectedItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" />
                        <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
                    </td>
                    <td>
                        <asp:Label ID="ProgramIDLabel" runat="server" Text='<%# Eval("ProgramID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="CourseIDLabel" runat="server" Text='<%# Eval("CourseID") %>' />
                    </td>
                    <td>
                        <asp:Label ID="CourseNameLabel" runat="server" Text='<%# Eval("CourseName") %>' />
                    </td>
                    <td>
                        <asp:Label ID="MarkLabel" runat="server" Text='<%# Eval("Mark") %>' />
                    </td>
                </tr>
            </SelectedItemTemplate>

        </asp:ListView>

我的代码背后:

protected void InitialCredential_SelectedIndexChanged(object sender, EventArgs e)
{
    //display programs DDL based on credential choice
    if(InitialCredential.SelectedValue == "Certificate")
    {
        CertificateList.Visible = true;
        DiplomaList.Visible = false;
        DegreeList.Visible = false;
    }
    else if (InitialCredential.SelectedValue == "Diploma")
    {
        CertificateList.Visible = false;
        DiplomaList.Visible = true;
        DegreeList.Visible = false;
    }
    else if (InitialCredential.SelectedValue == "Degree")
    {
        CertificateList.Visible = false;
        DiplomaList.Visible = false;
        DegreeList.Visible = true;
    }
    else 
    {
        CertificateList.Visible = false;
        DiplomaList.Visible = false;
        DegreeList.Visible = false;
    }
}

protected void CredentialType_SelectedIndexChanged(object sender, EventArgs e)
{
    switch (CredentialType.SelectedValue)
    {
        case "Diploma":
            {
                entrance_req.Visible = true;
                degree_link.Visible = false;
                degree_pathways.Visible = true;
            }
            break;
        case "Certificate":
            {
                entrance_req.Visible = true;
                degree_link.Visible = false;
                degree_pathways.Visible = false;
            }
            break;
        case "Degree":
            {
                entrance_req.Visible = false;
                degree_link.Visible = true;
                degree_pathways.Visible = false;
            }
            break;
        default:
            {
                entrance_req.Visible = false;
                degree_link.Visible = false;
                degree_pathways.Visible = false;
            }
            break;
    }
}

protected void ShowUpdateFields_Click(object sender, EventArgs e)
{
    show_update_form.Visible = true;




    if (InitialCredential.SelectedValue == "Certificate")
    {
        DiplomaCertificate certificate = new DiplomaCertificate();
        PathwaysController controller = new PathwaysController();

        certificate = controller.CertificateProgram_byID(int.Parse(CertificateList.SelectedValue));

        ProgramName.Text = certificate.ProgramName;
        CategoryList.SelectedValue = certificate.CategoryID.ToString();
        CredentialType.SelectedValue = "Certificate";
        ProgramLength.Text = certificate.ProgramLength;
        ProgramLink.Text = certificate.ProgramLink;
        Activated.Checked = certificate.Activated;
        WorkOutdoors.Checked = certificate.WorkOutdoors;
        ShiftWork.Checked = certificate.ShiftWork;
        Travel.Checked = certificate.WorkTravel;
    }
}

是否有一些我缺少的东西让它获得programID,并填充数据?

0 个答案:

没有答案