修剪我的asp.net mvc中的字符串的最佳方法

时间:2014-04-25 16:28:16

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

我有一个字符串字段名称consoleServerPort,我想在保存之前修剪其中的所有空格。我在我的控制器类中使用它,如下所示: -

public ActionResult Edit(FirewallJoin fj, FormCollection formValues)
        {
fj.ConsoleServerPort = !String.IsNullOrEmpty(fj.ConsoleServerPort) ? fj. ConsoleServerPort.Trim() : "";

但我必须在每个动作方法上重复这一步骤。所以我在Ivalidatable方法中的模型级别找到了另一种方法,如下所示: -

public partial class TMSFirewall : IValidatableObject
    {
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {

            if(!String.IsNullOrEmpty(ConsoleServerPort)){
                ConsoleServerPort = ConsoleServerPort.Trim();
            }

我的第二种方法听起来有效吗?或者最好使用第一种方法? 谢谢

修改 我正在使用实体框架,我做了以下 我在我的模型类中尝试了以下内容,我添加了以下内容: -

[MetadataType(typeof(TMSSwitchPort_Validation))]
    [Bind(Include = "PortNumber,SwitchID,TechnologyID")]
    public partial class TMSSwitchPort //: IValidatableObject
    {

    }

然后在MetadataType类中添加了以下内容: -

public class TMSSwitchPort_Validation
    {
        private string consoleServerPort;

        [Required]
        [StringLength(10)]
        [Display(Name="Port Number1111")]
        public String PortNumber
        {
            get { return this.consoleServerPort; }
            set { this.consoleServerPort = value.Trim(); }
        }


    }

但是ConsoleServerPort不会被修剪?你能建议可能出现的问题吗?

由于

1 个答案:

答案 0 :(得分:3)

你不能在属性设置器上做到吗?

public class FirewallJoin
{
     private string _consoleServerPort;
     public string ConsoleServerPort
     {
         get
         {
               return _consoleServerPort;
         }
         set
         {
             _consoleServerPort = value.Trim();
         }
     }
}