Отправка формы с вложенным файлом на монорельсовый контроллер - PullRequest
0 голосов
/ 26 марта 2010

У меня есть следующая форма (на брайле):

<form method="post" enctype="multipart/form-data" action="${UrlHelper.For({@action:'Upload'})}">
<p><b>Select Template:</b> &nbsp;
  <select id="template">
        <option selected>Select One..</option>
        <option value="Research">Research</option>
    </select>
</p>
<br/>
<p><b>Download Worksheet:</b> &nbsp; <a id="downloadLink">Worksheet</a></p>
<br/>
<p><b>Research Item Upload</b></p>
  <fieldset>
    <legend>Upload Research Items File</legend>

    <label for="file">File</label>
    <input type="file" name="file" size="80" accept="application/vnd.ms-excel,application/excel,application/x-msexcel" />
    <br />

    <input type="submit" value="Upload" />
  </fieldset>
</form>

Который публикует подпись следующего метода на моем контроллере:

[AccessibleThrough(Verb.Post)]
public UploadResults Upload(string template, [HttpPostedFileAdapterBinder] IHttpPostedFileAdapter file) {}

Когда я публикую форму, я получаю только файл. Шаблон var пуст, и я не уверен, почему. Кто-нибудь видит что-то очевидное, чего мне не хватает?

1 Ответ

1 голос
/ 26 марта 2010

Вам не хватает атрибута name в <select>:

<select name="template" id="template">
...
</select>
...