[英]ASP.NET Core Web API submit form has file and text fields error
[英]ASP.NET one web form two input file fields
我在ASP.NET和两个输入文件字段中都有一个Webform,因为用户应该通过一个文件输入上传xml文件,而通过另一个文件上传视频。 这两个输入(以下代码中的id xmlurl和videourl)具有相同的形式。 我还有两个提交按钮(ids load_mp4_button和load_xml_button),当用户希望上载文件时必须按下。 使用第一个按钮,必须在对应的div中加载地图,而使用第二个按钮,则要在第二个div中加载视频。
<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组件吗?
提前致谢
是的,当您点击提交时,它将发送表格,如果您使用的是MVC,您可以在POST控制器中进行访问。 因此,在这种情况下,您的两个提交者都在做同一件事,即发送包括两个文件输入在内的整个表单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.