У меня есть 16 текстовых полей внутри панели. Я пытаюсь создать кнопку, которая очистит весь текст из каждого окна. В настоящее время я использую опцию txtbox.text = ""
, но там должен быть лучший способ сделать это.Очистка всех текстовых полей в таблице внутри панели C#
Я пробовал использовать panel.controls.clear()
, но это тоже не работает.
<asp:Panel ID="pnlAddNewPeopleRecord" runat="server" Visible="false">
<asp:Label ID="lblAddNewPeopleRecord" runat="server" Visible="true">Add To People Table</asp:Label>
<asp:Table runat="server" class="tblAddNewRecord">
<asp:TableRow>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">ID</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeoplePersonID"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">First Name</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleFirstName"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Middle Initial</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleMiddleInitial"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Last Name</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleLastName"></asp:TextBox>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Street 1</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleStreet1"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Street 2</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleStreet2"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">City</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleCity"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">State</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleState"></asp:TextBox>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Zip Code</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleZipCode"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Country</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleCountry"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Phone 1</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeoplePhone1"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Phone 2</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeoplePhone2"></asp:TextBox>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Fax</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleFax"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Cell Phone</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleCellPhone"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Email</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleEmail"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tblCell">
<asp:Label class="tblCellLabel" runat="server">Notes</asp:Label>
<asp:TextBox class="tblCellTextbox" runat="server" ID="txtbxPeopleNotes"></asp:TextBox>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<asp:Button runat="server" class="btnResetRecord" ID="btnAddNewPeopleResetRecords" Text="Reset Fields" OnClick="btnAddNewPeopleResetRecords_Click" />
<asp:Button runat="server" class="btnAddNewRecord" ID="btnAddNewRecordToPeople" Text="Add Record To People Table" OnClick="btnAddNewRecordToPeople_Click" />
</asp:Panel>
Я пользуюсь приведенным ниже кодом. Когда я нажимаю кнопку, страница ничего не делает.
protected void btnAddNewPeopleResetRecords_Click(object sender, EventArgs e)
{
resetAllTextBoxes(pnlAddNewPeopleRecord);
}
private void resetAllTextBoxes(System.Web.UI.WebControls.Panel pnlAddNewPeopleRecord)
{
foreach(System.Web.UI.Control c in pnlAddNewPeopleRecord.Controls)
{
if (c is System.Web.UI.WebControls.TextBox)
{
((System.Web.UI.WebControls.TextBox)c).Text = "";
}
}
}
Является ли это WebForms? Я не очень хорошо знаком с webforms, но мое первое предложение - просто использовать javascript (особенно jQuery), чтобы очистить значения, и это можно сделать полностью на стороне клиента. Если это не вариант, вам может потребоваться изучить Ajax с помощью WebForms, чтобы позволить кнопке звонить на сервер без полной обратной передачи - вот основная идея в MVC, я не уверен, насколько хорошо это применимо к WebForms. –