0

私の問題をこれとして説明させてください。

画像をアップロードし、カスタム ファイル名で別の場所に保存する 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");
    }

ファイルアップロードコントロールを使用して画像のアップロードを保存する必要があり、名前は部分ビューのテキストボックス「名前」の値である必要があります

しかし、テキストボックスの値をコントローラーに渡すことができません。それを達成するにはどうすればよいですか?

ここで私を助けてください..

4

0 に答える 0