У меня есть свойство ContractExtention
в модели представления с типом данных HttpPostedFileBase
. Идея, лежащая в основе этого свойства, заключается в том, чтобы позволить пользователям загружать расширение контракта. После того, как они загрузят расширение контракта, я должен иметь доступ к информации о файле, используя свойство ContractExtention
. Проблема в том, что пользователю может потребоваться загрузить более одного расширения контракта одновременно. Количество продления контракта может варьироваться.
[FileTypes("doc,DOC,docx,DOCX,pdf,PDF,jpg,jpeg,png")]
public HttpPostedFileBase ContractExtention { get; set; }
public List<amendcontract> amendcontract { get; set; }
Свойство amendcontract
сообщит мне, сколько контрактов необходимо загрузить пользователю. Это код для моего взгляда:
foreach (var contract in Model.amendcontract)
{
if (contract.DocumentReceived)
{
<div class="form-group">
@Html.Label("Contract Extention", new { @class = "control-label col-md-3" })
<div class="col-md-offset-1 col-md-8">
<div class="col-sm-4 align-items-center doc" style="width:100%">
<div class="col-sm-2">
<a href='@Url.Action("viewDocument", "Intern", new { docType = "ExtendedContract",docId=contract.ContractDocumentID })'><i class="far fa-check-circle" title="View Document" style="font-size: 37.5px; color: green; "> </i></a>
</div>
<div class="col-sm-1" style="width: fit-content; top: 50%; transform: translateY(50%);">
<strong class="align-middle">Contract Extention for @contract.effectiveDate</strong>
</div>
</div>
</div>
</div>
<hr />
}
else if (contract.ContractDocumentID == null)
{
<div class="form-group">
@Html.Label("Contract Extention", new { @class = "control-label col-md-3" })
<div class="col-md-offset-1 col-md-8">
@Html.TextBoxFor(m => m.ContractExtention, new { type = "file", @class = "extendContract", @id = "uploader" })
@Html.ValidationMessageFor(m => m.ContractExtention)
</div>
</div>
<hr />
}
else
{
<div class="form-group">
@Html.Label("Contract Extention", new { @class = "control-label col-md-3" })
<div class="col-md-offset-1 col-md-8">
<div class="row">
<div class="col-sm-4 ">
@Html.TextBoxFor(m => m.ContractExtention, new { type = "file", @class = "extendContract", @id = "uploader" })
@Html.ValidationMessageFor(model => model.ContractExtention)
</div>
<!--
-->
<div class="col-sm-7 align-items-center doc">
<div class="col-sm-2">
<a href='@Url.Action("viewDocument", "Intern", new { docType = "ExtendedContract", docId = contract.ContractDocumentID })'><i class="far fa-file-pdf" style="font-size:50px; color:black"></i></a>
</div>
<div class="col-sm-8">
<strong class="align-middle">Contract Extention for @contract.effectiveDate</strong>
</div>
</div>
</div>
</div>
</div>
<hr />
}
}
Если contract.ContractDocumentID
равно нулю, это означает, что пользователь не загрузил файл, иначе пользователь загрузил файл, но ожидает подтверждения. Когда пользователь получает продление контракта, он добавляется в таблицу изменений контракта. Мой код будет проходить через каждый элемент в amendcontract
, и если пользователю нужно загрузить файл, он будет использовать свойство ContractExtention
, чтобы позволить пользователям загружать файл. Как разрешить пользователям загружать более одного файла одновременно, используя свойство ContractExtention
?