0
私は次のViewModelを持っています。これは、それを継承する他のViewModelの基本クラスです。私のViewModelをマッピングするメソッドはどこに置くべきですか?
viewmodelを自己にマップするメソッドを配置することをお勧めしますか?
public class ShowQuestionViewModel
{
public ShowQuestionViewModel()
{
}
public int Question_ID { get; set; }
public Boolean Condition_Fullfilled;
public String requiredmessage = "";
[Required(ErrorMessage = "Dette felt er påkrævet")]
public String Question_Wording { get; set; }
public String Question_Type { get; set; }
[Required(ErrorMessage = "Dette felt er påkrævet")]
//[Digits(ErrorMessage = "Feltet må kun indeholde heltal")]
public String Question_Number { get; set; }
public String Left_scale { get; set; }
public String Right_scale { get; set; }
public int Scale_Length { get; set; }
public String Left_Scale_HelpText { get; set; }
public String Right_Scale_HelpText { get; set; }
public Boolean Visible { get; set; }
public Boolean IsAnswered { get; set; }
public String Question_HelpText { get; set; }
public String Question_HelpText_PDF { get; set; }
public int Category_ID { get; set; }
// Ting der er behov for til Views
public SelectList Categories { get; set; }
public SelectList Visibility { get; set; }
public string RefUrl { get; set; }
public void MapQuestionToViewModel(MvcApplication3.Models.Question question)
{
Question_ID = question.question_id;
Category_ID = Convert.ToInt32(question.category_id);
Question_Number = question.question_number.ToString();
Question_Wording = question.question_wording;
Visible = (bool)question.visible;
String hlptxt = question.help_text;
Question_HelpText = hlptxt;
Question_HelpText_PDF = question.help_text_pdf ?? "";
Left_scale = question.left_scale;
Right_scale = question.right_scale;
Scale_Length = question.scale_length ?? 0;
Left_Scale_HelpText = question.left_scale_hlptxt;
Right_Scale_HelpText = question.right_scale_hlptxt;
Question_Type = question.Question_Type.type_description;
Categories = GetQuestions.GetCategories(question);
Visibility = GetQuestions.getVisibleSelectList();
}
}
か、どこか別の場所に配置する必要があります:このように
?いくつかの設計ガイドラインに
リンクは、私はMvcApplication3.Models名前空間は、ビューモデルと他には何が含まれている必要があります代わりに
public ShowQuestionViewModel(MvcApplication3.Models.Question dbmodel)
二コンストラクタを使用します歓迎
クラスライブラリが意味することの例と、このクラスライブラリを使用してViewModelをマッピングする方法を、上記のコードで教えてください。 – Kenci
ビジュアルスタジオのクラスライブラリプロジェクト。ソリューションエクスプローラでソリューションファイルを右クリックし、クラスライブラリを追加します。マッピングには何もありませんが、優れたソリューション/アプリケーション構造 – jgauffin