ドロップダウンリストで選択した項目の値を取得したいと思います。次のコードを使用して、ファイルをデータベースに保存しています。
public ActionResult UploadDoc(IEnumerable<HttpPostedFileBase> files)
{
foreach (var file in files)
{
if (file != null && file.ContentLength > 0)
{
byte[] data = new byte[file.ContentLength];
file.InputStream.Read(data, 0, file.ContentLength);
Document doc = new Document
{
UploadedOn = DateTime.Now,
MimeType = file.ContentType,
UserName = User.Identity.Name,
Data = data,
FromLanguage = 1,
ToLanguage = 2
};
dbContext = new MedicalDb();
dbContext.Documents.Add(doc);
dbContext.SaveChanges();
}
}
return RedirectToAction("Index");
}
ただし、ドキュメントの FromLanguage プロパティと ToLanguage プロパティを設定できるように、ドロップダウン リストから選択した値を取得したいとも考えています。ビューモデルが必要だと思いますが、その方法がわかりません。ドキュメント アップロード用の新しい行は jQuery を使用して追加され、ddl の名前は「ddlFromLanguage1」、「ddlFromLanguage2」、「ddFromLanguage3」、「ddlToLanguage1」、「ddlToLanguage2」、「ddlToLanguage3」などです。
<form action="UploadDoc" method="post" enctype="multipart/form-data">
<table id="tblUploadDocs">
<tr id="row1">
<td><input type="file" name="files" id="file1" /></td>
<td>Bu dilden</td>
<td>@Html.DropDownList("ddlFromLanguage1", ViewBag.Languages as SelectList)</td>
<td>şu dile çevrilecek</td>
<td>@Html.DropDownList("ddlToLanguage1", ViewBag.Languages as SelectList)</td>
</tr>
</table>
<br />
<a href="javascript:addRow();" style="margin:10px 0;">Yeni dosya ekleyin</a>
<input type="submit" />
</form>