简体   繁体   English

下拉列表未提供所选值

[英]Dropdownlist not giving selected value

I had this aspx source code 我有这个aspx源代码

<tr>
            <td>MatchName</td>
            <td>
                <asp:DropDownList ID="ddlMatchName" runat="server">
                </asp:DropDownList>
            </td>
        </tr>
        <tr>
            <td>Winning Team</td>
            <td>
                <asp:DropDownList ID="ddlWinningTeam" runat="server">
                </asp:DropDownList>
            </td>
        </tr>
        <tr>
            <td>Score</td>
            <td>
                <asp:TextBox ID="txtScore" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td>
                <asp:Button ID="btnSave" runat="server" Text="Save"  OnClick="btnSave_Click" />
            </td>
            <td>
                <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" />
            </td>
        </tr>

C# Code C#代码

 protected void Page_Load(object sender, EventArgs e)
    {
        string queryMatchDetail = "select MatchId,MatchName from ADMMasterMatch order by MatchDate";
        ddlMatchName.DataSource = clsNewSqlFunctions.GetSelectedData(queryMatchDetail);
        ddlMatchName.DataTextField = "MatchName";
        ddlMatchName.DataValueField = "MatchId";
        ddlMatchName.DataBind();

        string queryTeamDetail = "SELECT [TeamId],[TeamName] FROM [AdmCurrentEventMasterTeam] order by TeamName";
        ddlWinningTeam.DataSource = clsNewSqlFunctions.GetSelectedData(queryTeamDetail);
        ddlWinningTeam.DataTextField = "TeamName";
        //ddlWinningTeam.DataValueField = "TeamId";
        ddlWinningTeam.DataBind();

    }

    protected void btnSave_Click(object sender, EventArgs e)
    {
        var s = ddlMatchName.SelectedIndex;
        string query = "UPDATE [ADMMasterMatch] SET Winner = '" + ddlWinningTeam.SelectedItem.Text + "' , Score = '" + txtScore.Text + "' Where MatchId ='" + ddlMatchName.SelectedItem.Text +"'";
        clsNewSqlFunctions.ExecuteQuery(query);
    }
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        Response.Redirect("ADMCurrentEventMatchResult.aspx");
    }

Here clsNewSqlFunctions.ExecuteQuery() and clsNewSqlFunctions.GetSelectedData() are method to execute query and select data which return data in form of dataset 这里, clsNewSqlFunctions.ExecuteQuery()和clsNewSqlFunctions.GetSelectedData()是执行查询和选择数据的方法,这些数据以数据集的形式返回数据

on Save_Click event i am updating data on database from selected value of dropdown list but it is not showing me selected value Save_Click事件上,我正在从下拉列表的选定值中更新数据库上的数据,但未显示选定值
It always show value at index 0. on SelectedText,SelectedItem 它始终在索引0处显示值。在SelectedText,SelectedItem上
please help me what is wrong with my code 请帮助我我的代码有什么问题

Please bind your dropdown in !ispostback 请在!ispostback绑定您的下拉菜单

 protected void Page_Load(object sender, EventArgs e)
    {
      if(!ispostback)
      {
        string queryMatchDetail = "select MatchId,MatchName from ADMMasterMatch order by MatchDate";
        ddlMatchName.DataSource = clsNewSqlFunctions.GetSelectedData(queryMatchDetail);
        ddlMatchName.DataTextField = "MatchName";
        ddlMatchName.DataValueField = "MatchId";
        ddlMatchName.DataBind();

        string queryTeamDetail = "SELECT [TeamId],[TeamName] FROM [AdmCurrentEventMasterTeam] order by TeamName";
        ddlWinningTeam.DataSource = clsNewSqlFunctions.GetSelectedData(queryTeamDetail);
        ddlWinningTeam.DataTextField = "TeamName";
        //ddlWinningTeam.DataValueField = "TeamId";
        ddlWinningTeam.DataBind();
      }

    }

When you click a button page again postbacks and which will result in binding the dropdown again..So you will get the selected value as the first index of the dropdown.. 当您再次单击按钮页面时,将回发回传,这将导致再次绑定下拉列表。因此,您将获得选定的值作为下拉列表的第一个索引。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM