4

asp.net mvc 3 で valums アップロード ファイル プラグインを使用しています。2 つのドロップダウン ボックスと 1 つの ajax valums アップロード ファイル ボタンがあります。ビューに次のコードがあります。

<link href="@Url.Content("~/Content/css/fileuploader.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Content/js/fileuploader.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.7.2.js")" type="text/javascript"></script>


@using (Html.BeginForm("Upload", "AjaxUpload", FormMethod.Post, new { name = "form1" }))
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Upload Wav File</legend>
         <div class="editor-label">
           @Html.Label("Select Language")
        </div>
        <div>

          @Html.DropDownList("Language1", (SelectList)ViewBag.lang)
      </div>
         <div class="editor-label">
           @Html.Label("Select Category")
        </div>


      <div>
          @Html.DropDownList("ParentCategoryID", ViewBag.ParentCategoryID as SelectList) 
      </div>

      <div id="file-uploader">
    <noscript>
        <p>
            Please enable JavaScript to use file uploader.</p>
    </noscript>
</div>
    </fieldset>
}


<script type="text/javascript">


    var uploader = new qq.FileUploader
    ({
        element: document.getElementById('file-uploader'),
        params: {
            param1: document.getElementById("Language1").value,
            param2: document.getElementById("ParentCategoryID").value
        },
        action: '@Url.Action("upload")', // put here a path to your page to handle uploading
        allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'], // user this if you want to upload only pictures
        sizeLimit: 4000000, // max size, about 4MB
        minSizeLimit: 0, // min size
        debug: true
    });
</script>

問題: document.getElementByID を使用して valums アップロード関数の params 属性に値を渡すと、他のオプションを選択しても常に選択リストの最初のオプションの値が取得されます。document.getElementById であるページが最初に読み込まれたときに値を取得していると確信しています。上記のコードで、現在選択されている値を取得して params 属性に渡すにはどうすればよいですか。

私は以下のようにコントローラーアクションを持っています:

[HttpPost]
        public ActionResult Upload(HttpPostedFileBase qqfile, string param1, string param2)
        {
           ..............
        }
4

2 に答える 2

7

追加の値を送信するときに setParams メソッドを使用できます。

var uploader = new qq.FileUploader({
    onSubmit: function() {
        uploader.setParams({
            anotherParam: 'value' 
        });
    }
});
于 2012-07-20T08:52:33.517 に答える