Asp.net 循环浏览div中的文本框以查看是否有数据的最佳方法
所以我在一个内容页面上有一个div标签,里面有10个文本框。它们都以txb开头,然后是一个名称,例如txbSubmittedBy和txbOrderEntryDate。我想在处理页面之前,遍历所有文本框,检查用户是否已在其中输入数据 实现这一目标的最佳方式是什么?每个人?我考虑过使用With语句,但我不确定是否可以在控件名上进行模式匹配。我没有任何代码,因为我还没有写任何代码,因为我不知道如何做到这一点 下面是该div的asp代码Asp.net 循环浏览div中的文本框以查看是否有数据的最佳方法,asp.net,vb.net,Asp.net,Vb.net,所以我在一个内容页面上有一个div标签,里面有10个文本框。它们都以txb开头,然后是一个名称,例如txbSubmittedBy和txbOrderEntryDate。我想在处理页面之前,遍历所有文本框,检查用户是否已在其中输入数据 实现这一目标的最佳方式是什么?每个人?我考虑过使用With语句,但我不确定是否可以在控件名上进行模式匹配。我没有任何代码,因为我还没有写任何代码,因为我不知道如何做到这一点 下面是该div的asp代码 <div class="container-flui
<div class="container-fluid" id="dataheader">
<div class="row PadLeft">
<div class="col-sm-4 headercolumns">
<asp:Label runat="server" ID="lblSubmittedBy" Text="Submitted By:" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbSubmittedBy" CssClass="txbHeader text-danger" />
</div>
<div class="col-sm-4 headercolumns">
<asp:Label runat="server" ID="lblQarEntryDate" Text="QAR Entry Date:" CssClass="headerlbls text-primary" />
 <asp:TextBox runat="server" ID="txbQarEntryDate" CssClass="txbHeader text-danger" />
</div>
<div class="col-sm-4 headercolumns">
    <asp:Label runat="server" ID="lblJobNumber" Text="Job #:" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbJobNumber" CssClass="txbHeader text-danger" />
</div>
</div>
<div class="row PadLeft">
<div class="col-sm-4 headercolumns PadLeft">
<asp:Label runat="server" ID="lblPoNumber" Text="PO #:" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbPoNumber" CssClass="txbHeader text-danger" />
</div>
<div class="col-sm-4 headercolumns">
<asp:Label runat="server" ID="lblOrderEntryDate" Text="Order Entry Date:" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbOrderEntryDate" CssClass="txbHeader text-danger" />
</div>
<div class="col-sm-4 headercolumns">
  <asp:Label runat="server" ID="lblShipDate" Text="Ship Date:" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbShipDate" CssClass="txbHeader text-danger" />
</div>
</div>
<div class="row PadLeft">
<div class="col-sm-4 headercolumns">
   <asp:Label runat="server" ID="lblCustomerName" Text="Customer:" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbCustomerName" CssClass="txbHeader text-danger customertxb" />
</div>
<div class="col-sm-4 headercolumns">
      <asp:Label runat="server" ID="lblStatus" Text="Status" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbStatus" CssClass="txbHeader text-danger" />
</div>
<div class="col-sm-4 headercolumns">
<asp:Label runat="server" ID="lblSalesPerson" Text="Sales Person:" CssClass="headerlbls text-primary" />
<asp:TextBox runat="server" ID="txbSalesPerson" CssClass="txbHeader text-danger" />
</div>
</div>
<div class="row PadLeft">
<div class="col-sm-4 headercolumns"></div>
<div class="col-sm-4 headercolumns"></div>
<div class="col-sm-4 headercolumns">
<asp:Label runat="server" ID="lblRplOrderNumber" Text="Rpl Order #:" CssClass="headerlbls text-primary" ToolTip="Check to Enter Replacement Order #" />
<asp:CheckBox runat="server" ID="ckbRplOrderNumber" AutoPostBack="true" Checked="false" ToolTip="Check to Enter Replacement Order #" />
<asp:TextBox runat="server" ID="txbRplOrderNumber" CssClass="txbHeader text-danger" Visible="false" />
</div>
</div>
</div>
我使用vb.net来编写代码,所以vb中的任何示例都非常好,但如果需要,我可以转换成它
提前谢谢
我想遍历所有文本框,检查用户是否
在处理页面之前,将数据输入其中
别这样,没必要
请改用内置的ASP.NET验证控件。RequiredFieldValidator听起来与您的需求相关。您可以将它们放在您的aspx页面中,每个字段对应一个字段,如下所示:
<asp:RequiredFieldValidator id="valSubmittedBy"
ControlToValidate="txbSubmittedBy"
Display="Static"
ErrorMessage="*"
runat="server"/>
我建议您将每个字段放在标记中的相关字段旁边。它们提供了字段的自动客户端和服务器端验证
如果希望在一个位置显示所有验证错误,也可以将ValidationSummary控件放在表单的某个位置,以便于使用
有关更多详细信息,请参阅。我认为使用RequiredFieldValidator可能是一条可行的道路,但这是可能的。对不起,c代码:
foreach(var c in Page.Controls)
{
if(c is TextBox)
{
var txt = c as TextBox;
if(string.IsNullOrEmpty(txt.Text)
{
//Your code here
}
}
}
如果文本框位于其他容器控件(如面板)中,而不是页面本身的直接子控件中,则应在该容器中的控件之间循环。您需要编写代码。如果在实现时遇到错误,请提供一个。我们不是在这里为您编写代码,也不是在这里集思广益,想出做某事的最佳方法。我们来这里是为了解决特定的编程问题。请看我的答案。问题基本上是一样的。我建议你从一个接一个的开始。然后,尝试使用FindControl。但这是真正的商业逻辑,应该在你的商务课上。谢谢你的否决票。我的印象是,这是一个董事会,你可以问一个问题,而不是因为你不知道什么而被抨击。梅森,你到底是如何为一些你不理解也找不到正确答案的东西编写代码的。有时这个网站真的很糟糕有时。。。感谢你们所有提出建议的人谢谢。。。我会去其他地方寻找答案,因为这些建议不是我想去的方向。@mbcharney我没有投反对票,我认为你的问题还可以。感谢您不一定喜欢我回答中的建议,但想知道它的缺点是什么?它基本上完成了与您建议的循环相同的工作,但使用了内置工具。最终结果将非常相似,如果不是完全相同的话,那么您不必在客户机或服务器上编写任何代码。