gpt4 book ai didi

asp.net-mvc - 如何清除使用 MVC HTML 助手定义的文本框

转载 作者:行者123 更新时间:2023-12-04 22:52:00 26 4
gpt4 key购买 nike

我不知道如何做这个非常简单的事情:我的页面包含一组文本框,用户可以填写这些文本框来将项目添加到列表中。然后该项目显示在下拉列表中。

那时,我希望清除“添加”文本框。我认为这是大多数用户所期望的行为。该项目已添加;现在文本框应该是空的,准备好输入下一个项目。

但是,当我使用 Html 助手时,我似乎无法清除它们,例如 Html.Textbox(...)。我喜欢这些控件,因为它们在输入错误的情况下“记住”输入的方式。但是,与 webforms 控件不同,您不能以编程方式设置它们。他们继续保留这些值,直到用户输入其他内容。

有没有办法解决这种行为?我想用 javascript 清除它们,但如果有任何错误,我不想这样做。

更新一些代码;
我在 View 中的一个文本框:

<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>

我用于模型绑定(bind)的类:
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 构造 View 模型,其中包括一个 SelectList,它是已添加项目的下拉列表。 ( View 被强类型化为 builder.Build 生成的类型)。

最佳答案

HTMLHelper 首先查看 ModelState 和 ViewData 以查看是否有任何值与其键匹配,然后最终使用您提供的任何值。

如果您需要重置文本框的值,您还需要使用匹配键清除 ModelState 条目。另一种选择是重定向到同一页面,而不是简单地通过 javascript 或使用 MVC 呈现 View 。

关于asp.net-mvc - 如何清除使用 MVC HTML 助手定义的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3444994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com