我无法弄清楚如何做到这一点非常简单:我的页面包含一组文本框,用户可以填写这些文本框以将项目添加到列表中.然后该项目显示在下拉列表中.
那时,我希望清除“添加”文本框.我认为这是大多数用户所期望的行为.该项目已添加;现在文本框应该为空,准备好输入下一个项目.
但是,当我使用Html帮助程序时,我似乎无法清除它们,例如,Html.TextBox(…).我喜欢这些控件,因为它们在输入错误的情况下“记住”输入.但是,与webforms控件不同,您无法以编程方式设置它们.他们继续保留这些值,直到用户输入其他内容.
这种行为有什么办法吗?我想在javascript中清除它们,但如果有任何错误我不想这样做.
<h6 style="margin-top: 0px">Add custom email template:</h6> <div style="margin-top: 10px"> <div class="label">Name:</div> <%= Html.TextBox("addName","",new { @class="formtext",style="width: 400px" }) %> <div class="alerttext"><%= Html.ValidationMessage("addName") %></div> </div>
我用于模型绑定的类:
public class ManageEmailTemplatesSubmittedData { [RegularExpression(RegExpressions.templateNameRestrict,ErrorMessage="Names should begin with a character and consist of only characters and numbers")] public string addName { get; set; } [RegularExpression(RegExpressions.freeTextRestrict,ErrorMessage = "Invalid entry; please omit unusual characters")] public string addDescription { get; set; } [RegularExpression(RegExpressions.freeTextRestrict,ErrorMessage = "Invalid entry; please omit unusual characters")] public string addSubject { get; set; } [RegularExpression(RegExpressions.freeTextRestrict,ErrorMessage = "Invalid entry; please omit unusual characters")] public string addTemplate { get; set; } public string templates { get; set; } [RegularExpression(RegExpressions.templateNameRestrict,ErrorMessage = "Names should begin with a character and consist of only characters and numbers")] public string editName { get; set; } [RegularExpression(RegExpressions.freeTextRestrict,ErrorMessage="Invalid entry; please omit unusual characters")] public string editDescription { get; set; } [RegularExpression(RegExpressions.freeTextRestrict,ErrorMessage = "Invalid entry; please omit unusual characters")] public string editSubject { get; set; } [RegularExpression(RegExpressions.freeTextRestrict,ErrorMessage = "Invalid entry; please omit unusual characters")] public string editTemplate { get; set; } }
我的行动:
[AcceptVerbs(HttpVerbs.Post)] public ActionResult CustomEmails(SubmitButtons buttons,ManageEmailTemplatesSubmittedData data) { bool saved = false; string selectedTemplate = data.templates; if (ModelState.IsValid) { ButtonStyles buttonStyles = ButtonStylesCreator.GetSelectListButtonStyles(rc.persistedData.loggedInUser.userType); Notification notification = new Notification(rc); if (buttons.addTemplate == buttonStyles.addEmailTemplateButtonValue) { // add an email template notification.SaveCustomTemplate(data.addName,data.addName,data.addTemplate,data.addSubject,data.addDescription); saved = true; } else if (buttons.saveTemplate == buttonStyles.saveTemplateValue) { // update an email template notification.SaveCustomTemplate(data.templates,data.editName,data.editTemplate,data.editSubject,data.editDescription); selectedTemplate = ""; saved = true; } } ConfigureEmailsModelBuilder builder = new ConfigureEmailsModelBuilder(rc,rc.persistedData.loggedInUser.userID,selectedTemplate,true,saved); return View(builder.Build()); }
ConfigureEmailsModelBuilder构造视图模型,其中包括SelectList,它是已添加项目的下拉列表. (该视图强类型为builder.Build生成的类型).