我在asp.net應用程序中有很多文本框,並提交它們的值後,我想清除所有領域時,它再次加載?提交後清除所有字段
6
A
回答
14
你需要編寫,並呼籲類似function
後submit
public static void EmptyTextBoxes(Control parent)
{
foreach (Control c in parent.Controls) {
if (c.GetType() == typeof(TextBox))
{
((TextBox)(c)).Text = string.Empty;
}
}
}
參考
0
您可以使用JavaScript形式的reset()方法或循環引出所有文本框並將Text屬性設置爲空字符串。
foreach(var control in this.Controls){
TextBox tb = control as TextBox;
if (tb != null)
{
tb.Text = string.Empty;
}
}
0
你可以在頁面中做到這一點:
foreach (var tb in Controls.OfType<TextBox>())
{
tb.Text = null;
}
如果需要清除它們的整個層次,從頁面調用一次這樣的:ClearTextBoxes(this);
而這裏的功能:
private void ClearTextBoxes(Control c) {
foreach (var tb in c.Controls.OfType<TextBox>())
{
tb.Text = null;
}
foreach (var control in c.Controls) {
ClearTextBoxes(control); //Recurse down to children
}
}
0
public static Control[] FlattenHierachy(Control root)
{
List<Control> list = new List<Control>();
list.Add(root);
if (root.HasControls())
{
foreach (Control control in root.Controls)
{
list.AddRange(FlattenHierachy(control));
}
}
return list.ToArray();
}
private void ClearTextBoxes()
{
Control[] allControls = FlattenHierachy(Page);
foreach (Control control in allControls)
{
TextBox textBox = control as TextBox;
if (textBox != null)
{
textBox.Text = "";
}
}
}
此代碼將收集所有文本框在一個列表將他們的textproperty設置爲「」。
0
那麼你也可以設置字段不使用視圖狀態,這將意味着在性能上的提升,雖然很小,但仍然是一種提升。 同樣,您可以對同一頁或server.transfer執行response.redirect。
如果這兩種解決方案不適合你,你可以使用textbox.text = string.empty和dropdowlist.clearselection。他們可能沒有你想要的那麼快,他們更優雅。
0
沒有經過充分測試解決方案:在初始化或LoadViewState事件處理
不能使用ME.ViewState.Clear()?
或者它可能是Page.Viewstate.Clear(),甚至Page.ClearChildViewState()...
對不起 - 還沒有嘗試過在憤怒....
4
這清除像文本框,複選框形式的所有控件,單選按鈕
你可以添加你想要不同類型..
private void ClearTextBoxes(Control control)
{
foreach (Control c in control.Controls)
{
if (c is TextBox)
{
((TextBox)c).Clear();
}
if (c.HasChildren)
{
ClearTextBoxes(c);
}
if (c is CheckBox)
{
((CheckBox)c).Checked = false;
}
if (c is RadioButton)
{
((RadioButton)c).Checked = false;
}
}
}
-1
創建一個函數調用cleardata()
:
void cleardata()
{
textbox1.Clear();
textbox2.Clear();
textbox3.Clear();
textbox4.Clear();
}
並隨時調用此函數。
0
這是一個老問題,但我只是想補充以下,以防控件處於組框,你能做到這樣,那麼:
foreach (Control c in this.form.Controls)
{
//Tests each control to see if it is a GroupBox
if (c is GroupBox)
{
clearRadioButtons(c.Controls);
clearListBox(c.Controls);
resetDateTime(c.Controls);
clearTextBoxes(c.Controls);
clearComboBoxes(c.Controls);
}
}
public static void clearTextBoxes(Control.ControlCollection controls)
{
//Loops through all controls on form
foreach (Control c in controls)
{
//Tests each control to see if it is a textbox
if (c is TextBox)
{
//Converts to useable format and clears textboxes
var text = (TextBox)c;
text.Clear();
}
}
}
相關問題
- 1. 如何在提交後清除字段?
- 2. 提交後清除Redux表單字段
- 3. 清除所有字段
- 4. 表單提交後清除字段並提供消息
- 5. 提交的Javascript清除文本字段
- 6. Javascript:清除提交,兩個字段
- 7. 清除GIT中的所有提交?
- 8. 提交後清除表格
- 9. 提交後清除Ember.TextField
- 10. 使用TortoiseGit刪除所有提交後的所有提交
- 11. 如何清除提交後的輸入字段
- 12. 使用JavaScript提交後清除輸入字段
- 13. 如何清除表單提交後的輸入字段
- 14. 在提交表單後用ajax清除所有表單元素
- 15. 通過單擊MVC5中的提交按鈕清除所有字段
- 16. 清除所有交易
- 17. __doPostBack清除所有文本字段
- 18. 使用javascript清除所有HTML字段
- 19. 清除Postback後的字段
- 20. Angular驗證提交的所有字段
- 21. 如何在搜索後清除表單中的所有字段?
- 22. 點擊保存按鈕後清除所有字段
- 23. 在某個提交後刪除分支中的所有提交
- 24. 顛覆 - 刪除/清除並重新提交所有文件
- 25. MSSQL數據庫:日誌沒有清除後提交交易
- 26. 刪除表單上的所有空值字段提交角2
- 27. 停止提交表格,除非填寫所有字段
- 28. 提交信息後清除文本框
- 29. 提交後不要清除輸入
- 30. 在ajax提交後清除text_field
只寫這條線將重置所有字段。 this.form1。ID =「newid」; – Adeel 2010-03-01 12:47:59
可能很有用,除非表單ID被引用(儘管出於顯而易見的原因,在ASP.NET中,這往往不是這種情況) – CJM 2010-03-01 14:14:00