【问题标题】:Passing along a hidden formvalue with Dropzone in ASP.NET Mvc在 ASP.NET Mvc 中使用 Dropzone 传递隐藏的表单值
【发布时间】:2013-11-29 09:58:30
【问题描述】:

刚开始使用 Dropzone,到目前为止它看起来非常好。我有处理上传本身的后端功能,但是在调试时我注意到该操作永远不会受到影响。这是因为我的表单包含一个隐藏输入以传递所需的 id(用于执行上传的操作)。 这是我的表格:

@using (Html.BeginForm("UploadFile", "UnitSummary", FormMethod.Post, new
{
    enctype = "multipart/form-data",
    id = "imgUpload",
    @class = "dropzone"
}))
{
    <div class="fallback">
        <input name="file" type="file" multiple />
        <input type="submit" value="Upload" />
        <input type="hidden" name="unitId" value="@Model.ViewUnitContract.Id"/>
    </div>
}

JS:

<script type="text/javascript">
    $(document).ready(function () {
        // Dropzone
        Dropzone.options.imgUpload = {
            paramName: "file", // Must match the name of the HttpPostedFileBase argument that the Upload action expects.
            acceptedFiles: "image/*" // Accept images only
        };
    });
</script>

这是我的行动:

[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase file, int unitId)
{
    ...
}

现在,如果我删除“int unitId”参数,则会触发此操作。唯一的问题是我实际上需要那个 id :)

【问题讨论】:

  • 您是否尝试过只使用普通的&lt;form&gt; 标记并将unitId 作为查询字符串附加? &lt;form action="/UnitSummary/UploadFile?unitId=@Model.ViewUnitContract.Id" method="post"&gt;&lt;/form&gt;
  • 感谢@RGraham!这样可行! :) 随意添加它作为我接受的答案!
  • 如果您自己从用于解决问题的代码中添加答案会更好。也为自己赢得一个徽章:)

标签: jquery asp.net asp.net-mvc dropzone.js


【解决方案1】:

用下面的形式解决:

<form action="/UnitSummary/UploadFile?unitId=@Model.ViewUnitContract.Id" class="dropzone" enctype="multipart/form-data" id="imgUpload" method="post">
    <div class="fallback">
        <input name="file" type="file" multiple />
        <input type="submit" value="Upload" />
    </div>
</form> 

控制器动作和 js 保持不变。

【讨论】:

    猜你喜欢
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    相关资源
    最近更新 更多