加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 07:27:03 所属栏目:asp.Net 来源:网络整理
导读:我无法弄清楚如何做到这一点非常简单:我的页面包含一组文本框,用户可以填写这些文本框以将项目添加到列表中.然后该项目显示在下拉列表中. 那时,我希望清除“添加”文本框.我认为这是大多数用户所期望的行为.该项目已添加;现在文本框应该为空,准备好输入下一
我无法弄清楚如何做到这一点非常简单:我的页面包含一组文本框,用户可以填写这些文本框以将项目添加到列表中.然后该项目显示在下拉列表中.

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

但是,当我使用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生成的类型).

解决方法

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

如果需要重置textboxe的值,还需要使用匹配的键清除ModelState条目.另一种方法是重定向到同一页面,而不是简单地通过javascript或MVC渲染视图.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读