2017-02-10 36 views
1

У меня есть 2 вопроса о контроллерах., если имя контроллера не указано в элементе управления @ html.actionlink, какой контроллер требуется?

  1. Я увидел пример кода ниже и задался вопросом, какой контроллер этот actionlink вызовет метод. Удалить - фактически метод действия. Что делать, если два контроллера имеют одно и то же имя метода действия «Удалить»?

    @Html.ActionLink("Delete", "Delete", new { id=item.ID })

  2. Если имя контроллера или действия метод не упоминается в кнопке Передать элемент, как код ниже, какой контроллер и способ действия он будет принимать?

    <input type="submit" value="Create" />

ответ

3

Отвечу на 2-й вопрос первым, потому что это часть 1-ый:

2) Если вы не укажете контроллер, он будет использовать ток один (если с частичной точки зрения он использует контроллер, который «действует» в момент запроса).

1) Контроллеры могут иметь одинаковые имена действий, если вам нужно связать другой контроллер, чем текущий, который вам нужно указать.

[Редактировать]

Ваш второй вопрос изменилось, так что я обновить мой ответ ...

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

@using (Html.BeginForm("ActionName", "ControllerName")) 
{ 
    ... 
    <input type="submit" value="Create" /> 
} 

или непосредственно с HTML-теги

<form action="@Url.Action("ActionName", "ControllerName")" method="POST"> 

Вы можете также опустить контроллер или/и переменного тока если вы хотите использовать POST с использованием текущих.

+0

Относительно ответа на вопрос 2): Вы имеете в виду, что он принимает текущий контроллер и метод действий, который возвращает этот вид, содержащий входной элемент управления html? Я знаю метод beginform, и мой вопрос заключается в том, что если в коде не указан контроллер/действие, как я упоминал в вопросе. Также я верю в вопрос1), это имя контроллера, которое возвращает текущий вид, если не указано имя контроллера. – Karthik

+0

Да, я имею в виду, что если вы не дадите никаких параметров, то он будет принимать текущий контроллер и действие (одно генерирует текущий выход). Это справедливо для всех помощников MVC, кроме ActionLink (с обязательным параметром ActionName). – Seididieci