使用MVC4构建的HTML表单的TextArea上的前缀

时间:2014-07-08 18:49:32

标签: asp.net asp.net-mvc asp.net-mvc-4

好的,我正在尝试编辑另一个人的asp / mvc应用程序。在其中一个页面上有一个表单,该表单的一部分是 TextArea 。我想做两件事。

1)设置200个字符的限制(我通过maxlength html代码完成)

2)在所有条目上放置 PreFIX (用户不需要查看此内容)。 这是我的问题 - 我起初可以通过半屁股方法将值=放入字段中,但很快就知道TextArea不支持这一点。除此之外,用户可以删除前缀。

我有复制/粘贴我认为是与功能/区域相关的代码区域...我是MVC / .net / asp等的新手。我在4个文件之间蹦蹦跳跳的速度非常快实际上做了什么。

我在这里如何/将会改变:

CSHTML文件(表单部分):

<td colspan="2">
    <fieldset style="padding: 2px; margin: 2px">
    <legend>Inve Order Comments</legend>
      @Html.TextAreaFor(model => model.InvOrderComments, new {maxlength = "200", style = "width:250px;" })
</fieldset>
</td>

Model.cs - file

 [DisplayName("Inv Order Comments")]
 public string InvOrderComments { get; set; }

Controler.cs文件

if (model.IssueOtherOrder && (("Free Form").Equals(model.InvOrderReason) && string.IsNullOrWhiteSpace(model.InvOrderComments)))
{
ModelState.AddModelError("", "Inve Order Comments is a required field.");
ModelState.AddModelError("InvOrderComments", "");
}

Reference.cs - 文件(也在那里找到)

    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true)]
public string InvOrderComments {
  get {
    return this.invOrderCommentsField;
      }
      set {
      this.invOrderCommentsField = value;
      }
      }

1 个答案:

答案 0 :(得分:0)

在后端,您可以附加所需的文本。来自客户端的OnPostBack,希望您将这些信息存储在某个地方,您可以检查以确保该值未被用户删除,如果是,您可以将其添加回来。