繁体   English   中英

输入文本框值,然后单击按钮时,需要从数据库一一添加标签

[英]Need to Add label one by one from database when enter textbox values and then button click

供参考,请点击下面的图片

在此处输入图片说明

想要像下面的图像一样一页一页地加载数据库值

如果在文本框中添加一些文本,它将在页面重新加载时添加到数据库中,并显示输入值

请帮忙寻找。

如果你想我的代码意味着我会给

    NpgsqlConnection conn = new NpgsqlConnection`enter code here`("Server=192.166.0.121;User Id=trh; " + "Password=trh;Database=checking_DB;"); //+ "Pooling=true;MaxPoolSize=100;Timeout=20;"
conn.Open();
NpgsqlCommand command = new NpgsqlCommand("select Id,Name from tbl_Names", conn);
 // labelSno.Text = command.ExecuteNonQuery().ToString();
    lblSno.Text = command.ExecuteScalar().ToString();
    lblProfitCenter.Text = command.ExecuteScalar().ToString();

设计页面代码

<div>
        <table id="tbl1">
                <tr>
                    <th> S.No</th>
                    <th> Name</th>
                    <th> Type</th>
                </tr>
                <tr>
                <td><asp:Label runat="server" ID="lblSno"></asp:Label></td>
                <td><asp:Label runat="server" ID="lblProfitCenter"></asp:Label></td>
               <td> <asp:Button runat="server" ID="btnEdit" Text="Edit"  />
                <asp:Button runat="server" ID="btnDelete" Text="Delete" />
                </td>
                </tr>
                <tr>
                <td></td>
                <td><asp:TextBox runat="server" ID="txtProfitCenter"></asp:TextBox></td>
                <td><asp:Button runat="server" ID="btnAdd" Text="Add" OnClick="btnAdd_Click" /></td>
                </tr>
        </table>
    </div>

您可以将数据库值存储在DataTable对象中,并在页面中动态添加标签对象。

我假设您的页面中有一个面板组件,可以以编程方式添加标签,好吗?

例如:

 NpgsqlConnection conn = new NpgsqlConnection("Server=192.166.0.121;User  Id=trh; " + "Password=trh;Database=checking_DB;"); 
 conn.Open();

 DataTable dt = new DataTable();

 string command = "select Id,Name from tbl_Names";

 using (NpgsqlDataAdapter Adpt = new NpgsqlDataAdapter(command, conn))
 {
         Adpt.Fill(dt);
         foreach(DataRow row in dt.Rows)
         { 
            Label lblSno = new Label();
            Label lblProfitCenter = new Label();

            lblSno.Text = row[0].ToString();
            lblProfitCenter.Text = row[1].ToString(); 

            Panel1.Controls.Add(lblSno);
            Panel1.Controls.Add(lblProfitCenter);
        }
 }

我将给您概述。 您只需遵循它,希望您会得到预期的解决方案。

Panel pnlTextBox;
protected void Page_Load(object sender, EventArgs e)
{

    Literal lt;
    Label lb;
    Button btnAddTxt = new Button();
    btnAddTxt.ID = "btnAddTxt";
    btnAddTxt.Text = "Add TextBox";
    btnAddTxt.Click += new System.EventHandler(btnAdd_Click);
    this.form1.Controls.Add(btnAddTxt);


    if (IsPostBack)
    {
        RecreateControls("txtDynamic", "TextBox");
    }


}

protected void btnAdd_Click(object sender, EventArgs e)
{

    Button btn = (Button)sender;
    if (btn.ID == "btnAddTxt")
    {
        // Can do database stuff here
        int cnt = FindOccurence("txtDynamic");
        TextBox txt = new TextBox();
        txt.ID = "txtDynamic-" + Convert.ToString(cnt + 1);
        pnlTextBox.Controls.Add(txt);

        Literal lt = new Literal();
        lt.Text = "<br />";
        pnlTextBox.Controls.Add(lt);
    }
}

private int FindOccurence(string substr)
{
    string reqstr = Request.Form.ToString();
    return ((reqstr.Length - reqstr.Replace(substr, "").Length) / substr.Length);
}

private void RecreateControls(string ctrlPrefix, string ctrlType)
{
    string[] ctrls = Request.Form.ToString().Split('&');
    int cnt = FindOccurence(ctrlPrefix);
    if (cnt > 0)
    {
        Literal lt;
        for (int k = 1; k <= cnt; k++)
        {
            for (int i = 0; i < ctrls.Length; i++)
            {
                if (ctrls[i].Contains(ctrlPrefix + "-" + k.ToString()))
                {
                    string ctrlName = ctrls[i].Split('=')[0];
                    string ctrlValue = ctrls[i].Split('=')[1];

                    //Decode the Value
                    ctrlValue = Server.UrlDecode(ctrlValue);

                    if (ctrlType == "TextBox")
                    {
                        TextBox txt = new TextBox();
                        txt.ID = ctrlName;
                        txt.Text = ctrlValue;
                        pnlTextBox.Controls.Add(txt);
                        lt = new Literal();
                        lt.Text = "<br />";
                        pnlTextBox.Controls.Add(lt);
                    }
                    break;
                }
            }
        }
    }
}

暂无
暂无

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

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