Как мне получить доступ к моим данным в виде редактора asp.net mvc? - PullRequest
0 голосов
/ 05 июля 2011

Я получил этот полуавтоматический код, но я не уверен, где хранятся данные Post и как я обращаюсь к переменным в моем контроллере, чтобы я мог проверить и загрузить их в свою базу данных.

    @model FirstWeb.Models.Picture

@{
    ViewBag.Title = "Upload et billede";

}

<h2>Upload et billede</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>



@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>

        <input type="file" name="file" id="file" />

        <div class="editor-label">
            @Html.LabelFor(model => model.Title)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Title)
            @Html.ValidationMessageFor(model => model.Title)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.ConcertYear)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.ConcertYear)
            @Html.ValidationMessageFor(model => model.ConcertYear)
        </div>

        <p>
            <input type="submit" value="Upload" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Tilbage til billeder", "Index")
</div>

Ответы [ 2 ]

1 голос
/ 05 июля 2011

Кажется, вы пытаетесь загрузить файлы здесь. Оформить заказ следующего блога . Вам нужно будет использовать multipart/form-data enctype для вашей формы, чтобы иметь возможность загружать файлы. Итак, первый шаг - исправить определение формы:

@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" })) 
{
    ...
}

затем обновите модель представления так, чтобы она принимала загруженный файл как свойство:

public class Picture
{
    public HttpPostedFileBase File { get; set; }
    public string Title { get; set; }
    public int ConcertYear { get; set; }

    ... some other properties used in the view
}

и, наконец, действие POST вашего контроллера примет эту модель представления в качестве параметра:

[HttpPost]
public ActionResult Foo(Picture model)
{
    if (!ModelState.IsValid)
    {
        // there were validation errors => re-display the view
        return View(model);
    }

    // the model is valid at this stage => check if the user uploaded a file
    if (model.File != null && model.File.ContentLength > 0)
    {
        // the user uploaded a file => process it ...
    }
    ...
} 
1 голос
/ 05 июля 2011

Действие Изменить должно принимать вашу модель в качестве параметра.

Его свойства будут иметь отредактированные значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...