Dropzone 和 asp 元素

Dropzone and asp elements

我是 asp.net 的新开发人员,发现了一个我无法解决的问题。 我的 .aspx 如下所示:

<form action="#" class="" runat="server" >
    <asp:DropDownList ID="ddlCombo" runat="server">
    </asp:DropDownList>
</form>

<div class="clsbox-1" runat="server">
    <div class="dropzone clsbox" id="mydropzone">
    </div>
</div>

如您所见,我有一个下拉列表,我将在 page_load 上填充它,在 div 中有一个放置区(我需要这样)。

<script>
Dropzone.autoDiscover = false;
$("#mydropzone").dropzone({
    url: "WebForm1.aspx?param=1",
    addRemoveLinks: true,
    maxFilesize: 0.5,
    dictDefaultMessage: 'drag and drop',
    dictResponseError: 'Error uploading file!'
});
<script>

这是使 div 像 dropzone 的脚本,但我不确定 url 是否正确。 问题出现在 page_load 部分,因为我需要在页面加载时填充下拉列表, 当我尝试通过 dropzone 上传文件时,它将作为 post 返回并输入 'if' 并再次填充组合框,重置选择的值。

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack) {
       loadCombo(); //populate ddlCombo
    }
    string aux = ddlCombo.SelectedValue.ToString();//this will have the first item

   //processing file...
}

请告诉我是否有任何奇特的方法可以做到这一点,因为我无法弄清楚!

编辑: 我不明白为什么如果我在表格内发送它会按预期工作:

<form action="#" class="dropzone" runat="server" >
    <asp:DropDownList ID="ddlCombo" runat="server">
    </asp:DropDownList>
    <div class="clsbox-1 " id="mydropzone" runat="server">
        <div class="clsbox" >
        </div>
    </div>
</form>

当我在此处上传文件时,它不会作为 post 发回。 谢谢你!

你的 dropzone url 参数应该是你创建的另一个 page/httphandler/controller 来接受上传并将它保存到一个文件(或者你想用它做什么)。从技术上讲,您可以使用当前所在的页面,但在您的情况下会有点棘手,因为您需要检测导致回发的原因并进行适当处理(即不要重置下拉列表)。

我建议使用 HttpHandler 而不是普通页面来接收文件。这是其中的一个 example