如何获取TextBox的修改值

时间:2013-07-17 05:36:30

标签: asp.net ado.net

这是PageLoad代码

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //DropDownList Binding through bussiness logic
            Bussiness_logic.DropDownList_Bind(DDL_U, "SHORT_DESC", "UNIT_CODE", "UNIT_SOURCE");
            Bussiness_logic.DropDownList_Bind(DDL_Branch, "TYPE_DESC", "TYPE_CODE", "BRANCH_SOURCE");
        }
        if (Request.QueryString["File"] != null)
            {
                string fileNo = Request.QueryString["File"].ToString();
                Bussiness_logic.OpenConnection();
                SqlCommand com = new SqlCommand("LINK_DATA", Bussiness_logic.con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.AddWithValue("@FILE", fileNo);
                SqlDataReader dtr = com.ExecuteReader();
                if (dtr.HasRows)
                {
                    dtr.Read();
                    {
                        TxtFile.Text = dtr["FILE_NO"].ToString();
                        DDL_Branch.SelectedValue = dtr["TYPE_DESC"].ToString();
                        TxtSub.Text = dtr["SUBJECT"].ToString();
                        DDL_U.SelectedValue = dtr["SHORT_DESC"].ToString();
                    }
                }

                Bussiness_logic.CloseConnection();
                Label1.Text = "";
            }
    }


我从另一个页面获取QueryString的值,并根据文件变量从我的字段中提取数据,该数据来自与文件数据对应的数据库.Fields(两个)文本框和两个DropDwnList)正确填充,但是当我修改文本框或DDL中的数据并单击“更新”按钮时,它不会更新数据。
更新按钮代码

 protected void BtnUpdate_Click(object sender, EventArgs e)
    {
        Bussiness_logic.OpenConnection();
        SqlCommand com = new SqlCommand("UPDATE_DATA",Bussiness_logic.con);
        com.CommandType = CommandType.StoredProcedure;
        com.Parameters.AddWithValue("@FILE_NO", TxtFile.Text);
        com.Parameters.AddWithValue("@SUB",TxtSub.Text);
        com.Parameters.AddWithValue("@UNIT",DDL_U.SelectedValue);
        com.Parameters.AddWithValue("@BRANCH",DDL_Branch.SelectedValue);
        com.ExecuteNonQuery();
        Label1.Text = "Action perfomed successfully !!!";
        Bussiness_logic.CloseConnection();
        Bussiness_logic.Empty_Control(TxtFile, TxtSub, DDL_U, DDL_Branch);
        //GridView1.Visible = false;
    }

1 个答案:

答案 0 :(得分:0)

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //DropDownList Binding through bussiness logic
            Bussiness_logic.DropDownList_Bind(DDL_U, "SHORT_DESC", "UNIT_CODE", "UNIT_SOURCE");
            Bussiness_logic.DropDownList_Bind(DDL_Branch, "TYPE_DESC", "TYPE_CODE", "BRANCH_SOURCE");

        if (Request.QueryString["File"] != null)
            {
                string fileNo = Request.QueryString["File"].ToString();
                Bussiness_logic.OpenConnection();
                SqlCommand com = new SqlCommand("LINK_DATA", Bussiness_logic.con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.AddWithValue("@FILE", fileNo);
                SqlDataReader dtr = com.ExecuteReader();
                if (dtr.HasRows)
                {
                    dtr.Read();
                    {
                        TxtFile.Text = dtr["FILE_NO"].ToString();
                        DDL_Branch.SelectedValue = dtr["TYPE_DESC"].ToString();
                        TxtSub.Text = dtr["SUBJECT"].ToString();
                        DDL_U.SelectedValue = dtr["SHORT_DESC"].ToString();
                    }
                }

                Bussiness_logic.CloseConnection();
                Label1.Text = "";
            }
         }
    }

将您的第二个if也放在第一个if。因为当您单击更新按钮而不是您的页面加载事件时,首先会从文本框中再次设置您的文本框值。所以将第二个放入第一个如果停止在postbask上设置数据库的文本框值,