У меня есть веб-форма в ASP.NET и два поля входных файлов, так как пользователь должен загружать XML-файл через вход одного файла и видео через другой. Эти два входа (ids xmlurl и videourl в коде ниже) находятся в одной форме. У меня также есть две кнопки отправки (ids load_mp4_button и load_xml_button), которые пользователь должен нажать, когда захочет, чтобы файл был загружен. При первой кнопке карта должна быть загружена в соответствующий div, а второй - видео во втором div.ASP.NET одна веб-форма двух полей входных файлов
<form id="form1" runat="server" method="post">
<div id="map" class="map" runat="server"></div>
<div id="info" runat="server"> </div>
<input id="xmlurl" runat="server" type="file" accept="text/xml" name="xmlurl" />
<input id="load_xml_button" runat="server" type="submit" />
<input id="videourl" runat="server" type="file" accept=".mp4" name="videourl" />
<input id="load_mp4_button" runat="server" type="submit" />
<video id="video" runat="server" width="640" height="480" controls="controls">
Your browser does not support the video tag.
</video>
</form>
Я добавил слушатель событий в C# для этих двух кнопок, чтобы преобразовать физический путь файла в URL и загрузить карту и видео. Например, на стороне сервера:
protected void Page_Load(object sender, EventArgs e)
{
//add event listeners
load_mp4_button.ServerClick += new EventHandler(this.mp4_button_clicked);
load_xml_button.ServerClick += new EventHandler(this.xml_button_clicked);
}
protected void mp4_button_clicked(object sender, EventArgs e)
{
//request the first file
HttpPostedFile filePosted = Request.Files["videourl"];
string url_path1 = Path2url(filePosted);
//do something with the file
}
protected void xml_button_clicked(object sender, EventArgs e)
{
//request the second file
HttpPostedFile filePosted = Request.Files["xmlurl"];
}
У меня есть проблема в том, что всякий раз, когда вы нажмете на первую кнопку, чтобы загрузить карту, а затем ударил второй, чтобы загрузить видео, карта исчезла , Хотя они отображаются в разных div. С чистыми слушателями событий js нет такой проблемы. Знает ли кто-нибудь, если это происходит, потому что эти поля ввода находятся в одной форме? Должен ли я попытаться использовать компонент asp из панели инструментов?
Заранее спасибо
кнопки при нажатии вызывают обратную передачу и обновляют всю страницу, я бы рекомендовал использовать asp updatepanels –