Не могу вызвать другое действие - PullRequest
0 голосов
/ 17 августа 2010

Я изучаю ASP MVC и занимаюсь разработкой SportsStore (функция создания / редактирования).При создании продукта действие «Создать» будет отображать представление «Редактировать», но при нажатии «Sudmit» оно вызывает действие «Создать (публикация)», в то время как я установлю его как «Изменение»:

<% using (Html.BeginForm("Edit", "Admin", FormMethod.Post, new { enctype="multipart/form-data" }))
   {%>
    <%--<%= Html.ValidationSummary() %>--%>
    <%--<%= Html.Hidden("ProductID") %>--%>

    <p>Name: <%= Html.TextBox("Name")%>
        <div><%= Html.ValidationMessage("Name")%></div>
    </p>
    <p>Description: <%= Html.TextArea("Description", null, 4, 20, null)%>
        <div><%= Html.ValidationMessage("Description")%></div>
    </p>
    <p>Price: <%= Html.TextBox("Price")%>
        <div><%= Html.ValidationMessage("Price")%></div>
    </p>
    <p>Category: <%= Html.TextBox("Category")%>
        <div><%= Html.ValidationMessage("Category")%></div>
    </p>
    <p>
        Image: 
        <% if (Model.ImageData == null)
           { %>
            None
        <% }
           else
           { %>
            <img src= "<%= Url.Action("GetImage", "Products", new {Model.ProductID}) %>" />
        <% } %>
        <div>Upload new image: <input type="file" name="file" id="file" /></div>
    </p>
    <input type="submit" value="Save" /> 
    <%= Html.ActionLink("Cancel and return to list", "Index")%>

<% } %>

1004 *

1 Ответ

0 голосов
/ 17 августа 2010

Код, который у вас есть, кажется разумным , если , который вы хотите отправить обратно в действие Edit.Ваш вопрос немного сбивает с толку, но я собираюсь предположить, что вы хотите повторно использовать представление и отправить его обратно в Создать при визуализации из Создать и Редактировать при визуализации из Редактировать,Самый простой способ - просто пропустить параметры из вызова BeginForm.Это приведет к тому, что действие формы будет установлено на текущий контроллер и действие, которое даст вам то, что вы, кажется, хотите.Альтернативой может быть разработка шаблонов (отображение / редактор) для модели, но с отдельными представлениями для Create / Edit, которые просто отображают шаблон Html.EditorFor( m => m, "ProductTemplate" ).Это позволит вам настроить представление - возможно, представление «Создать» требует загрузки изображения?- но по-прежнему использовать большую часть кода.

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