이전 질문을 한 걸음 더 앞두고 있습니다 (this question 참조). 예를 들어 라디오 버튼 목록과 같이 사용자가 두 가지 이상의 선택을하는 방법을 알아 내려고 노력 중입니다. 사용자가 선택한 항목은 if/else if
문을 사용하여 정적 통화 값이 포함 된 엔터티에 연결됩니다. 두 개의 다른 선택을 모델로 전달하려면 어떻게해야합니까?
이
은 가격에 엔티티 :[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal priceProcessingStandard = 0;
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal priceProcessingExpedited = 250;
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal priceSubmissionOnline = 0;
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal priceSubmissionManual = 200;
그래서, 같은 if/else if
문 두 세트의 경우 :
@if (Model.ProcessingRadioButtons == Processing.Standard)
{
@Html.DisplayFor(m => m.priceProcessingStandard)
}
else if (Model.ProcessingRadioButtons == Processing.Expedited)
{
@Html.DisplayFor(m => m.priceProcessingExpedited)
}
...
@if (Model.SubmissionRadioButtons == Submission.Online)
{
@Html.DisplayFor(m => m.priceSubmissionOnline)
}
else if (Model.SubmissionRadioButtons == Submission.Manual)
{
@Html.DisplayFor(m => m.priceSubmissionManual)
}
을하고 사용자가 두 개의 라디오 버튼 목록에서 선택한다 Processing.Expedited
및 Submission.Manual
에 해당하는 코드는 각각 $250.00
및 $200.00
을 표시합니다.
그러나 sum
을 표시하는 방법을 알아낼 수는 없습니다. $450.00
을 표시하십시오. 곰곰이 생각해 보면, 나는 손안에 선택을 알지 못한다. 그래서 함수 안에서 priceProcessingExpedited + priceSubmissionManual
을하고, 그것을 호출하면 분명히 작동하지 않을 것이다. 또한, 나는 이것들 중 약 10-15을하고있다. 그러나 내가 성취하고자하는 것의 한 예로서 단지 두 개의 간단한 것을 사용했다. (그래서 다른 두 선택이 $0.00
이라는 사실은 다양한 가격이 있기 때문에 아무 의미도 없다. 내가 빠뜨린 다른 선택들).
어떤 안내?
UPDATE :
Model.calculated =
Model.priceSolution +
((Model.ProcessingRadioButtons == Processing.Standard) ?
Model.priceProcessingStandard :
(Model.ProcessingRadioButtons == Processing.Expedited) ?
Model.priceProcessingExpedited :
Model.priceProcessingUrgent);
일부 노트 : 대답 제안을 바탕으로 , 나는이 일을 오전
priceSolution
나는베이스로 사용할 정적 값이을 (그것은이다 기본 값 플러스 사용자 선택).- ViewModel에
calculated
을 사용하고get; set;
을 사용하고 있습니다. - 나는 간략히하기 위해 앞에
Processing.
을 입력하지 않았습니다. - 간결함을 위해
Submission
을 생략했습니다. 이는+
이고Processing
과 같은 논리입니다. 손 고려하기 전에
와보기를 포장하기 전에 를 표시하지 않으려면. 선택을 알고 있습니다. 예, 특정 사용자가 선택할 수있는 것을 직접 알지 못합니다. 이전에 뷰 모델에서 속성을 만들려고 시도했지만 모든 다른 선택 사항으로 그 속성을 망쳤습니다. 나는 궁극적으로 표시되는 것을 합산하는 더 깨끗한 방법이 있기를 바랐다. – REMESQ
몇 가지 조사가 끝나면 조언을 통해 올바른 답을 얻을 수 있습니다. 감사. 문제의 업데이트를 참조하십시오. – REMESQ