недавно я должен был сделать это для Textboxes и Флажки, но с использованием JavaScript ...
How to reset textbox and checkbox controls in an ASP.net document
Вот код ...
<script src="http://code.jquery.com/jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
function ResetForm() {
//get the all the Input type elements in the document
var AllInputsElements = document.getElementsByTagName('input');
var TotalInputs = AllInputsElements.length;
//we have to find the checkboxes and uncheck them
//note: <asp:checkbox renders to <input type="checkbox" after compiling, which is why we use 'input' above
for(var i=0;i< TotalInputs ; i++)
{
if(AllInputsElements[i].type =='checkbox')
{
AllInputsElements[i].checked = false;
}
}
//reset all textbox controls
$('input[type=text], textarea').val('');
Page_ClientValidateReset();
return false;
}
//This function resets all the validation controls so that they don't "fire" up
//during a post-back.
function Page_ClientValidateReset() {
if (typeof (Page_Validators) != "undefined") {
for (var i = 0; i < Page_Validators.length; i++) {
var validator = Page_Validators[i];
validator.isvalid = true;
ValidatorUpdateDisplay(validator);
}
}
}
</script>
И называть его с помощью кнопки или любым другим способом ...
<asp:button id="btnRESET" runat="server" onclientclick="return ResetForm();" text="RESET" width="100px"></asp:button>
Если вы не используете ValidationControls на вашем веб-сайте, просто удалите весь код, относящийся к нему выше, и звонок Page_ClientValidateReset();
Я уверен, что вы можете расширить его для любого другого элемента управления, используя DOM. И поскольку на сервер нет сообщений, это быстрее и не «мигает».
Я предполагаю, так как вы просто зацикливание на верхний уровень управления, вы должны рекурсивно проверить для элементов управления и сделать 'ResetText()' (так что если у вас есть текстовое поле, флажок говорят в панели затем это не проверяет элементы управления внутри панели) – V4Vendetta
@ V4Vendetta Я вижу, есть ли способ сделать это возможным? Или мне нужно проверить все панели и другие контейнеры? –
Да, это возможно. См. Мой ответ. – ispiro