0

asp.netアプリケーションで死のイエローページを修正しようとしていますユーザー名とGuid値リストを含むdropDownList ddl_userNames SQlデータソースを使用してバインドしますが、私の問題はアイテムリスト値-1と選択ユーザーがあり、グラフがあることですページをロードすると、この ddl_username に asp.net がバインドされます。-1の値が原因で、この問題を解決する方法を教えてくれる人がいることを私は知っています

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <style type="text/css">
        .style1
        {
            height: 24px;
        }
    </style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <table class="ui-accordion">
        <tr>
            <td>
                <label>Tech User name:</label></td>
            <td>
                <asp:DropDownList ID="ddl_userNames" runat="server" 
                    DataSourceID="SqlDS_techNames" DataTextField="UserName" 
                    DataValueField="UserId" AppendDataBoundItems="True" AutoPostBack="True">
                    <asp:ListItem Value="-1">Select one</asp:ListItem>
                </asp:DropDownList>
                <asp:SqlDataSource ID="SqlDS_techNames" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:Compudata_ProjectManagerConnection %>" 
                    SelectCommand="SELECT [UserId], [UserName] FROM [vw_aspnet_Users]">
                </asp:SqlDataSource>
            </td>
        </tr>
        <tr>
            <td>
               <label>Sesrch terms:</label> </td>
            <td>
                               <asp:DropDownList ID="ddl_SesrchTerms" runat="server" 
                >
                                   <asp:ListItem Value="-1">Select One</asp:ListItem>
                                   <asp:ListItem Value="1">Daily</asp:ListItem>
                                   <asp:ListItem Value="2">Weekly</asp:ListItem>
                                   <asp:ListItem Value="3">Monthly</asp:ListItem>
                               </asp:DropDownList></td>
        </tr>
        <tr>
            <td>
                <label>Date:</label></td>
            <td>
                <asp:TextBox ID="txtb_date" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="style1">
                <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
            </td>
            <td class="style1">
                <asp:Label ID="lbl_msg" runat="server"></asp:Label>
            </td>
        </tr>
    </table>
    <br />
    <br />
    <br />


    <asp:Chart ID="Chart1" runat="server" 
        DataSourceID="SqlDS_Get_Individual_Tech_Service_Chart">
        <Series>
            <asp:Series Name="Series1" ChartType="Pie" XValueMember="billableTypeName" 
                YValueMembers="TotalTime">
            </asp:Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="ChartArea1">
            </asp:ChartArea>
        </ChartAreas>
    </asp:Chart>
    <asp:SqlDataSource ID="SqlDS_Get_Individual_Tech_Service_Chart" runat="server" 
        ConnectionString="<%$ ConnectionStrings:Compudata_ProjectManagerConnection %>" 
        SelectCommand="Get_Individual_Tech_Service_Chart" 
        SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:ControlParameter ControlID="ddl_SesrchTerms" DbType="Int32" 
                Name="SearchTerms" PropertyName="SelectedValue" />
            <asp:ControlParameter ControlID="ddl_techNames" DbType="Guid" Name="TechID" 
                PropertyName="SelectedValue" />
            <asp:ControlParameter ControlID="txtb_date" DbType="DateTime" Name="Date" 
                PropertyName="Text" />
        </SelectParameters>
    </asp:SqlDataSource>
</asp:Content>
4

1 に答える 1

1

page_load に余分な行をいつでも追加して、空の GUID を持つ「Select One」を挿入できます

ddl_userNames.Items.Insert(0, new ListItem("Select one", Guid.Empty.ToString()));
于 2013-02-14T20:10:37.823 に答える