드롭 다운 목록에서 항목을 선택하고 목록에서 항목을 값으로 제거한 다음 합계를 업데이트합니다.

DaveSwans

asp.net 및 C #을 사용하려고합니다. 주어진 값이 10 인 변수를 만들고 싶습니다.이 변수 풀을 호출 한 다음 드롭 다운 목록에서 1과 10 사이의 숫자를 선택할 수 있기를 원합니다.

ddl에서 5를 선택한다고 가정 해 보겠습니다. 그러면 풀에서 5를 빼야 풀이 5로 표시됩니다.

돌아가서 드롭 다운 목록에서 다른 숫자를 선택하려면 풀에서 뺄 수있는 숫자 만보고 싶습니다. IE는 풀에 5 개만 남아 있으므로 6을 선택할 수 없습니다. 도와주세요

그렇게 어렵나요?

아래 코드 주석에 따른 설명

.aspx

<asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="up" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        My Pool : <asp:Label ID="lbl" runat="server" Text="10"></asp:Label><br />
        <asp:HiddenField ID="hf" runat="server" Value="10" />
        <asp:DropDownList ID="ddl" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged"></asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddl" />
    </Triggers>
</asp:UpdatePanel>

.cs

protected void Page_Load(object sender, EventArgs e)
{
    // Check
    if (!IsPostBack)
    {
        // Variable
        DataTable dt = new DataTable();
        dt.Columns.Add("Count");

        // Loop
        for (int i = 0; i < 11; i++)
            dt.Rows.Add(i);

        // Bind to Drop Down
        ddl.DataSource = dt;
        ddl.DataTextField = "Count";
        ddl.DataValueField = "Count";
        ddl.DataBind();

        // Dispose
        dt.Dispose();
    }
}


protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
    // Variable
    int myPool = 0;
    int mySelectedValue = 0;
    int result = 0;
    int dropDownValue = 0;
    bool isInteger = false;

    // Parse Integer
    int.TryParse(hf.Value, out myPool);
    int.TryParse(ddl.SelectedValue, out mySelectedValue);

    // Set Result
    result = myPool - mySelectedValue;

    // Set to Hidden Value
    hf.Value = result + "";
    lbl.Text = result + "";

    foreach (ListItem item in ddl.Items)
    {
        // Reset
        isInteger = false;
        dropDownValue = 0;

        // Parse Drop Down Value
        isInteger = int.TryParse(item.Value, out dropDownValue);

        // Check
        if (isInteger)
        {
            // Ensure is not less than 0, If less than 0 disabled the selected value
            if ((result - dropDownValue) < 0)
                item.Enabled = false;
        }
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관