Я хочу автоматически установить два флажка для файлов с именами «Файл1» и «Файл2», которые имеют тип задания задания 1, 2 или 3, когда страница открыта.Я использую тип свойства bool в Model для возврата true, если «File1» и «File2» находятся в цикле For.Но почему-то все флажки других файлов проверяются автоматически, это должны быть только флажки для «Файл1» и «Файл2».Вот мои коды:
Web.Config
<appsettings>
<add key="JobOrderType" value="1,2,3"/>
</appsettings>
CustomerDocument.cs - моя модель просмотра
public class CustomerDocument
{
public bool IncludeInEmail { get; set; }
public long DocumentId { get; set; }
public string DisplayName { get; set; }
public string DocumentPath { get; set; }
public bool IsAutoSelectFile { get; set; }
}
ShowJobTypeController.cs
[HttpGet]
public ActionResult ShowJobType() {
try
{
//Make auto select for File1 and File2 for some certain job order types
List<CustomerCustomers> customerDocuments;
var myQuery = dbTest2.JobOrders.FirstOrDefault(z => z.Id == JobOrderId);
var jobOrderTypeId = new List<int>();
var configJOTypeValues = ConfigurationManager.AppSettings["JobOrderType"].Split(',');
for (var i = 0; i < configJOTypeValues.Length; i++)
{
var IdValue = 0;
if (int.TryParse(configJOTypeValues[i], out IdValue))
jobOrderTypeId.Add(IdValue);
}
ViewBag.IsAutoSelectFileForJobOrder = false;
var vmCustomerDoc = new ViewModels.CustomerDocument();
var isDocSelected = false;
foreach (var doc in customerDocuments)
{
if (doc != null && jobOrderTypeId.Contains(myQuery.JobTypeId) && (doc.DocumentName.Contains("File1") || doc.DocumentName.Contains("File2")))
{
vmCustomerDoc.IsAutoSelectFile = true;
isDocSelected = vmPCustomerDoc.IsAutoSelectFile;
ViewBag.IsAutoSelectFileForJobOrder = isDocSelected;
}
else
{
vmCustomerDoc.IsAutoSelectFile = false;
ViewBag.IsAutoSelectFileForJobOrder = isDocSelected;
}
}
}
catch
{
//Leave it empty
}
return View();
}
ShowJobType.cshtml
@{
ViewBag.Title = "ViewJobType";
Layout = "~/Views/Shared/_Layout.cshtml";
}
var docs = ViewBag.CustomerDocuments as List<VM.CustomerDocument>; //Links to CustomerDocument.cs View Model
<table>
<tr>
<th>Check to Include in Email</th>
<th>Files</th>
</tr>
@foreach (var doc in docs)
{
<tr>
<td>
@{
var docValue = doc.DocumentId + (string.IsNullOrEmpty(doc.DocumentPath) ? "" : "/" + doc.DocumentPath);
}
<input type="checkbox" name="DocEmail" id="DocEmail" value="@docValue" @(ViewBag.IsAutoSelectGuideForJobOrder) ? "checked=\"checked\"" : "") />
</td>
</tr>
}
</table>