私の問題をこれとして説明させてください。
画像をアップロードし、カスタム ファイル名で別の場所に保存する mvc4 Web アプリケーションを開発しました。
ビューページにファイルアップロードコントロールとボタンがあり、このビュー内に別の部分ビューレンダリングがあり、いくつかのテキストボックスがあります。ファイルアップロードコントロールを使用して画像をアップロードし、送信ボタンをクリックすると、指定された場所に保存する必要がありますファイル名は、部分ビューのテキスト ボックスに入力された値である必要があります。
これがビューのコードです
<div id="partial">
@{Html.RenderPartial("WholeSaleUserDetail");}
@using (Html.BeginForm("uploadFile", "WholeSaleTrade", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table>
<tr>
<td>
<img id="blah" src="../../Images/no_image.jpg" alt="your image" height="200px" width="150px" />
</td>
</tr>
<tr>
<td>
<input type="file" id="imgInp" name="imgInp" />
</td>
<td>
<input type="submit" value="Upload Me" id="uploadme" />
</td>
</tr>
</table>
}
</div>
ここに「WholeSaleUserDetail」という名前の部分ビューのコードがあります
@model PortalModels.WholeSaleModelUser
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>WholeSaleModelUser</legend>
<table>
<tr>
<td>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
</td>
<td>
<div class="editor-field">
@Html.TextBoxFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
</td>
</tr>
<tr>
<td>
<div class="editor-label">
@Html.LabelFor(model => model.Contact)
</div>
</td>
<td>
<div class="editor-field">
@Html.TextBoxFor(model => model.Contact)
@Html.ValidationMessageFor(model => model.Contact)
</div>
</td>
</tr>
<tr>
<td>
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
</td>
<td>
<div class="editor-field">
@Html.TextBoxFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
</td>
</tr>
<tr>
<td>
<div class="editor-label">
@Html.LabelFor(model => model.Fax)
</div>
</td>
<td>
<div class="editor-field">
@Html.TextBoxFor(model => model.Fax)
@Html.ValidationMessageFor(model => model.Fax)
</div>
</td>
</tr>
<tr>
<td>
<div class="editor-label">
@Html.LabelFor(model => model.Address)
</div>
</td>
<td>
<div class="editor-field">
@Html.TextBoxFor(model => model.Address)
@Html.ValidationMessageFor(model => model.Address)
</div>
</td>
</tr>
</table>
<input type="Submit" id="" value="Edit" />
<input type="Submit" id="" value="Delete" />
</fieldset>
}
ここにコントローラーコードがあります
[HttpPost]
public ActionResult uploadFile(HttpPostedFileBase imgInp, string imageName)
{
var fileSavePath = "";
var uploadedFile = Request.Files[0];
//fileName = Path.GetFileName(uploadedFile.FileName);
fileSavePath = Server.MapPath("~/Img/" + imageName + ".jpg");
uploadedFile.SaveAs(fileSavePath);
return RedirectToAction("Index");
}
ファイルアップロードコントロールを使用して画像のアップロードを保存する必要があり、名前は部分ビューのテキストボックス「名前」の値である必要があります
しかし、テキストボックスの値をコントローラーに渡すことができません。それを達成するにはどうすればよいですか?
ここで私を助けてください..