0

jquery を使用してファイルをアップロードし、3 つのパラメーターをコントローラーに渡します。パラメータの1つを渡すことができ、他の2つのパラメータはドロップボックスから選択されます。ドロップ ボックスの 2 つのパラメータが、アップローダで以下のコードにバインドされていないようです

params: {fileType: @Model.fileType, employeeId: @Model.employeeId,  trainId: @Model.trainId },

以下は、ファイルをアップロードするための私のコードです

<script type="text/javascript">

    window.onbeforeunload = function() {
        // This function does nothing.  It won't spawn a confirmation dialog   
        // But it will ensure that the page is not cached by the browser.
    }; 

    var button = $('#fileUpload')[0];
    var uploader = new qq.FileUploader({
        element: button,
        allowedExtensions: ['doc', 'docx', 'xls', 'xlsx', 'pdf'],
        sizeLimit: 2147483647, // max size
        action: '/Home/UploadFileToServer',
        multiple: false,
        params: {fileType: @Model.fileType, employeeId: @Model.employeeId,  trainId: @Model.trainId },
        onComplete: function(id, fileName, responseJSON) {
            $.ajax({
                url: "/Home/DetailsFiles",
                data: { id: @Model.employeeId },
                cache: false,
                dataType: "html",
                success: function(data) {
                    $("#employee_files").html(data);
                }
            });
        }});

私のビューモデルは次のとおりです。

 public int employeeId;
public int fileType;
public int trainId;
public File file;
public SelectList FileTypeList { get; set; }
public SelectList TrainingList { get; set; }

私のドロップボックスは次のとおりです。

<div id="trainFile">
        <div class="editor-label">
            Dosya Tipi
        </div>
        <div class="editor-field">
            @Html.DropDownListFor(model => model.fileType, Model.FileTypeList)
        </div>
        <div class="editor-label">
            Eğitim
        </div>
        <div class="editor-field">
            @Html.DropDownListFor(model => model.trainId, Model.TrainingList)
        </div>
    </div>

次の div を使用してファイルをアップロードするには:

<div id="fileUpload">
    <noscript>
        <p>
            Please enable JavaScript to use file uploader.</p>
        <!-- or put a simple form for upload here -->
    </noscript>
</div> 

値がモデル プロパティにバインドされていない理由がわかりません。コントローラーのデバッグ ポイントに到達すると、パラメーター値が 1 つだけ渡されていることがわかります。理由は何ですか?また、これを修正するにはどうすればよいですか?

編集1

ドロップダウン リストから選択した値が変数にバインドされていないようです。

4

1 に答える 1