Вернуть модель в пост - PullRequest
       4

Вернуть модель в пост

0 голосов
/ 13 января 2010

Есть ли способ получить информацию из моей модели во время помеченного HttpPost результата, если я не могу передать его в качестве параметра?

    [AcceptVerbs(HttpVerbs.Post)]
    public FileUploadJsonResult Upload(HttpPostedFileBase file, IwantMyModelToo! )

Хотя я не могу заставить настоящую модель представления пройти этот метод. Есть мысли?

Вот основной вид. (FoldersController)

    <hr class="space" />
    <div>
        <% Html.RenderAction<Controllers.ImagesController>(i => i.Create(Model)); %>
    </div>
    <hr class="space" />

Вот частичное представление (ImagesController, где находится метод Create)

// bunch of fun jQuery for jQuery Form Uploading.
</script>
<div class="span-24 last">
    <fieldset>
        <legend>Upload Image</legend>
        <form id="ajaxUploadForm" action="<%= Url.Action("Upload", "Images")%>" method="post" enctype="multipart/form-data" >
        <div>
            <label for="file">Select Image</label><br />
            <input type="file" name="file" />
        </div>
            <input id="ajaxUploadButton" type="submit" value="Upload" />
        </form>
    </fieldset>
</div>

1 Ответ

2 голосов
/ 13 января 2010

В вашем примере кода нет свойств, связанных с какой-либо моделью ... Здесь я добавил один (Foo) в скрытое поле формы и создал класс MyModel.

View

<div class="span-24 last">
  <fieldset>
    <legend>Upload Image</legend>
    <form id="ajaxUploadForm" action="<%= Url.Action("Upload", "Images")%>" method="post" enctype="multipart/form-data" >
      <div>
        <%= Html.Hidden("Foo", "bar") %>
      </div>
      <div>
        <label for="file">Select Image</label><br />
        <input type="file" name="file" />
      </div>
      <input id="ajaxUploadButton" type="submit" value="Upload" />
    </form>
  </fieldset>
</div>

Модель

public class MyModel
{
  public string Foo {get;set;}
}

Контроллер

public FileUploadJsonResult Upload(HttpPostedFileBase file, MyModel model)
{
  //model.Foo should be accessible here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...