Добрый день,
У меня есть приложение ASP.net MVC, которое должно загружать файлы в Amazon S3 с прогрессом.Я нашел аккуратный контроль под названием Flajaxian, который делает работу довольно хорошо.Проблема в том, что теперь я хочу вставить строку данных в БД, которая отслеживает загрузки.Если вы посмотрите на код ниже, у элемента управления есть событие FileUploader1_ConfirmUpload, которое запускается после завершения загрузки.Url.Action («Upload», «TracksController») не выполняет то, что мне нужно, а именно запускает действие Upload в контроллере TrackController.Это первый раз, когда я работал с MVC, поэтому я надеюсь, что есть простое решение.
У меня изначально была кнопка отправки для загрузки в коде, подобном этому <div class="submitBtnDiv"><input type="submit" value="Submit" class="submitBtn" id="trackAdd" /></div>
.но теперь загрузка выполняется асинхронно, поэтому я хочу сделать такую же обратную передачу
Спасибо всем, кто нашел время, чтобы прочитать это, и даже больше тем, кто пытается решить эту проблему.
<div class="contentsAcc"><form id="form2" runat="server" style="width:400px">
<script runat="server">
private void FileUploader1_FileNameDetermining(object sender, FileNameDeterminingEventArgs e)
{
e.FileName = SessionWrapper.PersonId.ToString() + "_" + e.FileName;
}
</script>
<script runat="server">
private void FileUploader1_ConfirmUpload(object sender, ConfirmUploadEventArgs e)
{
Url.Action("Upload", "TracksController");
}
</script>
<fjx:FileUploader ID="FileUploader1" runat="server">
<Adapters>
<fjx:DirectAmazonUploader OnFileNameDetermining="FileUploader1_FileNameDetermining" OnConfirmUpload="FileUploader1_ConfirmUpload"
AccessKey="WebConfig:AmazonAccessKey"
SecretKey="WebConfig:AmazonSecretKey"
BucketName="tracksupload" />
</Adapters>
</fjx:FileUploader>
</form></div>
Хорошо, поэтому я попытался немного изменить свой подход по сравнению с вчерашним.Вместо того, чтобы пытаться запустить действие TracksController, я хочу переместить этот код действия в событие Confirm_Upload.Но теперь мне все еще нужно получить значения текстовых полей.Поскольку MVC не помнит состояние, это оказывается трудным.Вот текстовые поля.они находятся на той же странице, что и приведенный выше код.
<label for="BandName">Artist</label>
<%=Html.TextBox("Artists") %><%:Html.ValidationMessage("Artist","*")%>
<div class="clearfix">
</div>
<label for="SongName">Song Title
</label>
<%=Html.TextBox("SongName") %><%:Html.ValidationMessage("SongName","*")%>
<div class="clearfix">
</div>
Можно ли извлечь значения из текстового поля и отправить его в событие Confirm_Upload, которое происходит на стороне сервера?Если не с серверным кодом, то, возможно, со стороны клиента JavaScript?
Используемый мной элемент управления загрузкой - единственный, который выполняет то, что я хочу, но это веб-формы, сайт MVC.Таким образом, у меня есть контроль веб-форм на странице MVC.Я хочу использовать значения текстового поля MVC и передать его в элемент управления веб-форм для обработки.