如何在网页上填充文本框

Posted

技术标签:

【中文标题】如何在网页上填充文本框【英文标题】:how to fill textboxes on a web page 【发布时间】:2021-12-21 04:05:22 【问题描述】:

该网页是一个公共页面,它不是由我创建的。大约有 20 个文本框,我想一键用特定数据填充它们。关于如何做到这一点的任何想法?

ps。几年前我使用过 asp.net 和 c#,现在我记不太清了。但是提示应该就足够了,尽管如果您能完全指导,我将不胜感激。

ps2。看来我应该把代码写到我猜的 Windows 应用程序中。

【问题讨论】:

它非常不清楚你在寻找什么 - 一个填充网页的程序,你想从程序本身来填充它吗?你想用你要填充的内容自动填充和发布它们 - 我认为你想要一种自动填充其他网页的方法,这与 asp.net 和 c# 是的,假设有 20 个姓名、家庭和个人信息的文本框,我想要一个填充这些文本框的程序。我向程序提供数据,它通过单击填充整个文本框。我不想手动填写数据。之前看过一个节目。这是一个自动点击器。它接收按钮位置,并以特定时间和间隔单击该位置。所以我想也许有这样一种方法来填充文本框。 这是一个完整的程序 - 有一些现有的可供查找和使用。 你见过吗?有名字吗? 【参考方案1】:

如果你能满足于 javascript/typescript,https://testcafe.io/ 可能会实现你的目标。

【讨论】:

【参考方案2】:

嗯,这取决于。通常为了显示数据,我会说一个中继器,或者说一个数据列表控件。

我什至使用向导创建带有字段的控件,然后删除说向导创建的数据源。

所以,假设我们有这个标记:

<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <div style="border-style:solid;color:black;width:300px;float:left">
        <div style="padding:5px;text-align:right">

            Hotel Name: 
            <asp:TextBox ID="txtHotelName" runat="server" Text ='<%# Eval("HotelName") %>' />
            <br />                                                                                             
            First Name:
            <asp:TextBox ID="txtFirst" runat="server" Text ='<%# Eval("FirstName") %>' />
            <br />                                                                                             
            Last Name:
            <asp:TextBox ID="txtLast" runat="server" Text ='<%# Eval("LastName") %>'  />
            <br />                                                                                             
            City:
            <asp:TextBox ID="txtCity" runat="server" Text ='<%# Eval("City") %>'  />
            <br />
            Active:
            <asp:CheckBox ID="chkActive" runat="server" Checked = '<%# Eval("Active") %>'/>

            <asp:HiddenField ID="PK" runat="server" Value = '<%# Eval("ID") %>'/>
            
            <asp:Button ID="cmdDelete" runat="server" Text="Delete" style="margin-left:20px"                     
               OnClick="cmdDelete_Click"/>
        </div>
    </div>
     <div style="clear:both;height:4px"></div>
    </ItemTemplate>
 </asp:Repeater>

不,不是 20 个字段,但如果我在创建过程中使用向导选择所有 20 列,我至少不必输入以上内容 - 但只需在使用向导创建该转发器后“调整”它,或数据列表。

好的,现在代码来填充上面的内容。

看起来像这样:

   protected void Page_Load(object sender, EventArgs e)
    
        if (!IsPostBack)
        
            LoadData();
        
    

    public void LoadData()
    
        string strSQL = "SELECT * FROM tblHotels WHERE ID = 23 ORDER BY HotelName";

        using (SqlCommand cmdSQL = new SqlCommand(strSQL,
                             new SqlConnection(Properties.Settings.Default.TEST4)))
        
            cmdSQL.Connection.Open();
            Repeater1.DataSource = cmdSQL.ExecuteReader();
            Repeater1.DataBind();
        
    

我们现在看到了:

另一方面,如果我使用这个 SQL:

        string strSQL = "SELECT TOP 4 * FROM tblHotels ORDER BY HotelName";

那么我现在明白了:

因此,如您所见,显示我重复的“事物”中的 1 个或 20 个不再起作用。我可以说让重复遍历整个页面,我现在有了一个类似卡片视图的系统。

您当然也可以只编写代码,然后将值放入文本框中。所以不用说中继器控件,只有他的文本框,那么这将起作用:

        string strSQL = "SELECT * FROM tblHotels ORDER BY HotelName";
        using (SqlCommand cmdSQL = new SqlCommand(strSQL,
                             new SqlConnection(Properties.Settings.Default.TEST4)))
        
            DataTable rstData = new DataTable();
    
            cmdSQL.Connection.Open();
            rstData.Load(cmdSQL.ExecuteReader());

            DataRow OneRow = rstData.Rows[0];

            txtHotelName.Text = OneRow["HotelName"].ToString();
            txtFirst.Text = OneRow["FirstName"].ToString();
            txtLast.Text = OneRow["LastName"].ToString();
            txtCity.Text = OneRow["City"].ToString();
            chkActive.Checked = (bool)OneRow["Active"];
            
        

所以你在这里有很多选择。当然,人们经常会引入一个模型框架(比如旧的数据集,或者现在的 EF(实体框架)。这会给你一个代码中的模型,因此你经常不记得字段名称,而你得到/拥有您和数据库之间的抽象层。

而且大部分数据重复控件都乐于使用 EF 数据,甚至像上面展示的那样直接使用数据表。

【讨论】:

以上是关于如何在网页上填充文本框的主要内容,如果未能解决你的问题,请参考以下文章

java如何制作个向网页文本框中自动填写数据

如何在网页的文本框中加滚动条

如何根据每条记录的连续表单中 ms-access 中的其他值填充文本框上的值

用户输入值时如何从文本框中填充消息框?

如何根据列表框中的选定行填充多个文本框

在 Tampermonkey 中使用 javascript 进行页面搜索和文本框自动填充