Passing-Modell die Daten vom View zum Controller und mit seinen Werten

Ich versuche zum senden von Daten von der anzeigen und verwenden Sie es in der Steuerung zu konstruieren, die einen Dateinamen für eine Datei hochladen-Funktion an dem ich arbeite, mein code ist unten.

Controller

    //GET: File
    [Authorize(Roles = "Admin, Lecturer")]
    public ActionResult Index()
    {



        foreach (string upload in Request.Files)
        {
            if (Request.Files[upload].FileName != "")
            {
                string path = AppDomain.CurrentDomain.BaseDirectory + "/App_Data/uploads/";
                string filename = Path.GetFileName(Request.Files[upload].FileName);
                Request.Files[upload].SaveAs(Path.Combine(path, filename));
            }
        }
        return View();
    }

Modell

public class UploadModel
{
    [Required(ErrorMessage = "Course is required")]
    public string Course { get; set; }
    [Required(ErrorMessage = "Title is required")]
    public string Title { get; set; }

    public string Uploader { get; set; }
}

Ansicht

<div class="uploadContainer">
    <table>


        <tr>
            <td>Title :</td>
            <td colspan="2" class="editPostTitle">
                @Html.TextBoxFor(tuple => tuple.Item1.Title, new { @class = "uploadTitleInp" })
                @Html.ValidationMessageFor(tuple => tuple.Item1.Title)
            </td>
        </tr>

        <tr>
            <td>Course :</td>
            <td>
                @{
                    List<SelectListItem> listItems = new List<SelectListItem>();
                    foreach (var cat in courses)
                    {
                        listItems.Add(new SelectListItem
                        {
                            Text = cat.Course.Name,
                            Value = cat.Course.Name
                        });
                    }
                }

                @Html.DropDownListFor(tuple => tuple.Item1.Course, listItems, "-- Select Status --")

                @Html.ValidationMessageFor(tuple => tuple.Item1.Course)
            </td>
        </tr>

        <tr>
            <td>File :</td>
            <td>
                <input type="file" name="FileUpload1" id="fileUpload" required />
            </td>
        </tr>

        <tr>
            <td></td>
            <td>
                <input id="btnUploadFile" type="button" value="Upload File" />
            </td>
        </tr>

    </table>

</div>

Diese Methode ist verantwortlich für die Platzierung der hochgeladenen Datei in das Verzeichnis. Was möchte ich in der Lage sein zu tun ist, erstellen Sie eine Datei mit Namen von etwas wie dieses.

string filename = model.Title + " - " + model.Course;

Ich in der Regel wissen, wie Sie diese erreichen bei der Verwendung eines db-Daten speichern, aber da bin ich nicht die Speicherung der Dateien, die hochgeladen werden in einer db dann weiß ich nicht wirklich wissen, wie pass-Daten vom model an den controller, so kann ich die Werte, die eingetragen wurden, durch den Anwender zu konstruieren, die den Namen der Datei. Ich bin relativ neu auf diesem Rahmen, und Sprachen, so dass jede Hilfe und Hinweise wäre sehr appriciated.

Vielen Dank Im Voraus!

Check this out: stackoverflow.com/questions/16339398/... es half mir

InformationsquelleAutor Plumbus | 2017-04-19

Schreibe einen Kommentar