繁体   English   中英

ASP.NET一个Web窗体两个输入文件字段

[英]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">&nbsp;</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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM