Jefferson
Jefferson

Reputation: 93

MVC How do I create a new object with default value

I have a view that has add/edit, edit is working fine but for add I would like to set default values for type. Is there a way to do this in the view the cshtml file?

add view

@Html.Partial("RegimenReferences", new (ReferencesModel {Type = "defaultType}") )

edit view

@Html.Partial("RegimenReferences", (ReferencesModel)Model)

Model

    public class ReferencesModel
    {
        public ReferencesModel()
        {

        }
        public ReferencesModel(Reference reference)
        {
            this.Id = reference.Id;
            this.Link = reference.Link;
            this.Text = reference.Text;
            this.Type = reference.Type;
            this.Regimens = reference.Regimens;
            this.GuidelineId = reference.GuidelineId;
            this.SortOrder = reference.SortOrder;
        }


        public long Id { get; set; }
        public string Link { get; set; }
        public string Text { get; set; }
        public string Type { get; set; }
        public int Regimens { get; set; }
        public Guid? GuidelineId { get; set; }
        public int SortOrder { get; set; }
    }
}

Upvotes: 0

Views: 150

Answers (1)

Greg
Greg

Reputation: 151

Are you wanting to set those types specifically in cshtml?

Could you create a new constructor for your model that takes in any fields you want to set with a default?

public class ReferencesModel
    {
        public ReferencesModel(string type = null)
        {
            Type = type;
        }

        public ReferencesModel(Reference reference)
        {
            this.Id = reference.Id;
            this.Link = reference.Link;
            this.Text = reference.Text;
            this.Type = reference.Type;
            this.Regimens = reference.Regimens;
            this.GuidelineId = reference.GuidelineId;
            this.SortOrder = reference.SortOrder;
        }

        public long Id { get; set; }
        public string Link { get; set; }
        public string Text { get; set; }
        public string Type { get; set; }
        public int Regimens { get; set; }
        public Guid? GuidelineId { get; set; }
        public int SortOrder { get; set; }
    }

or just set a default value in the constructor/in variable declaration

public ReferencesModel()
    {
        Type = "default type";
    }

public string Type = "default type";

Upvotes: 1

Related Questions