首页 > 解决方案 > 我的文本框不会在方法/按钮单击时填充?

问题描述

我有一个在按钮单击事件上执行的方法,其中文本框是从数据库中设置的值。但是点击事件没有在屏幕上显示值,它填充了文本框,我在调试器中获取文本框的值,点击事件在调用方法后以某种方式清除了文本框,我该如何纠正这个

这是方法

 public void DisplayLead(int EID)
    {
        
        DS = new DataSet();
        DS = DBM.GetLeadByEnquiryID(EID);
        Label2.Text = DBM.Message;
        Label1.Text = EID.ToString();
        if (DS.Tables[0].Rows.Count > 0)
        {
            hfCustomerId.Value = DS.Tables[0].Rows[0]["ClientID"].ToString();
            txtCName.Text = DS.Tables[0].Rows[0]["ClientName"].ToString();
            txtEnq.Text = DS.Tables[0].Rows[0]["Enquiry"].ToString();
            txtEnqType.Text = DS.Tables[0].Rows[0]["EnqType"].ToString();
            EnqDateTextBox.Text = DS.Tables[0].Rows[0]["Date"].ToString();
            if (!DBNull.Value.Equals(DS.Tables[0].Rows[0]["Status"].ToString()))
            {
                DDLStatus.Items.FindByValue(DS.Tables[0].Rows[0]["Status"].ToString()).Selected = true;
            }
            txtCP.Text = DS.Tables[0].Rows[0]["Contact"].ToString();
            txtEmail.Text = DS.Tables[0].Rows[0]["Email"].ToString();
            txtPhone.Text = DS.Tables[0].Rows[0]["Phone"].ToString();
            txtComment.Text = DS.Tables[0].Rows[0]["Comment"].ToString();
        }
        Label2.Text = "test value";
        DS = null;
    }

这是按钮点击事件

 protected void btnSelect_Click(object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        GridViewRow row = (GridViewRow)btn.NamingContainer;
        int EID = Convert.ToInt32(row.Cells[0].Text);
        DisplayLead(EID);
    }

这是html部分

 <div class="col-md-6">
            <div class="panel panel-body">
            <fieldset>
                                <!-- Enquiry -->
                                <div class="form-group">
                                    <label class="control-label" for="enq">Enquiry</label>
                                    <div class="">
                                         <asp:TextBox ID="txtEnq" runat="server" CssClass="form-control" ></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" CssClass="errmsg" ControlToValidate="txtEnq" Display="Dynamic" ErrorMessage="Enquiry is required" validationgroup="LeadsForm"></asp:RequiredFieldValidator>

                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="control-label" for="type">Enquiry Type</label>
                                    <div class="">
                                    <asp:TextBox ID="txtEnqType" runat="server" CssClass="form-control" ></asp:TextBox>
      <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" CssClass="errmsg" ControlToValidate="txtEnqType" Display="Dynamic" ErrorMessage="Type of Enquiry required" validationgroup="LeadsForm" ></asp:RequiredFieldValidator>

                                    </div>
                                </div>
                            
                    </fieldSet>
                </div>
            </div>
       </div>

页面加载时

protected void Page_Load(object sender, EventArgs e)
        {
            Label mpLabel = (Label)Page.Master.FindControl("lblWelcome");

            Literal TTLabel = (Literal)Page.Master.FindControl("pagetitle");

            if ((mpLabel != null) && (TTLabel != null))
            {
                mpLabel.Text = "Leads";
                TTLabel.Text = "Leads";
            }


            if (Request.QueryString["Lead"] != null)
            {
                EID = Convert.ToInt32(Request.QueryString["Lead"].ToString());
                if (!IsPostBack)
                {

                    DisplayLead(EID);
                }

            }

            if (!IsPostBack)
            {
                LoadGrid();
            }
            //if(!EID.Equals(null) )
            // {
            //     DisplayLead(EID);
            // }
           
        }

<div class="panel panel-success">
            <div class="panel-heading">Current Leads</div>
            <div class="panel-body" style="overflow-x:auto">
                <asp:GridView ID="GridView1" CssClass="table table-bordered table-striped table-responsive example2"  EnableViewState="true"  AutoGenerateSelectButton="false" AutoGenerateColumns="false"  OnRowDataBound="GridView1_RowDataBound" runat="server">
                    <Columns>
                      <asp:BoundField DataField="SNo" HeaderText="S.No" />
                      <asp:BoundField DataField="ClientName" HeaderText="Client" />
                      <asp:BoundField DataField="Enquiry" HeaderText="Enquiry" />
                      <asp:BoundField DataField="EnquiryType" HeaderText="EnquiryType" />
                      <asp:BoundField DataField="DateofEnq" HeaderText="Date" DataFormatString = "{0:dd-MMM-yyyy}" />
                      <asp:BoundField DataField="StatusOfEnq" HeaderText="Status" />
                       <asp:BoundField DataField="ContactPerson" HeaderText="Contact Person" />
                       <asp:BoundField DataField="Email" HeaderText="Email" />
                       <asp:BoundField DataField="ContactPhone" HeaderText="Phone"  />
                        </Columns>
                  <Columns>
                      <asp:TemplateField ShowHeader="False">
                <ItemTemplate>
                    <asp:Button ID="btnSelect" runat="server" Text="Select" CommandName="Select"  CommandArgument='<%#Eval("SNo")%>' OnClick="btnSelect_Click" CssClass="btn btn-danger btn-xs margin-bottom" CausesValidation="false" />
                    <asp:Button type="button" runat="server" Text="Status" ID="btnStatus" CommandName="status" CommandArgument='<%#Eval("SNo")%>' OnCommand="btnStatus_Command"  CssClass="btn btn-info btn-xs" CausesValidation="false" data-toggle="modal" data-target="#myModal" />
                </ItemTemplate>
            </asp:TemplateField>
                 </Columns>
                </asp:GridView>
                </div>
            </div>

标签: c#asp.net

解决方案


推荐阅读