Mehraj Malik Ответов: 1

В чем разница между @URL-адрес.действия() и @HTML-код.действие()


Я перенаправлял свои мысли. Посмотреть на контроллер в .Net.но когда я пишу
@Url.Action("ActionMethod","Controller")
он успешно перенаправил страницу,и когда я проверил свой источник просмотра страницы, он генерировал url-адрес моего контроллераНо когда я случайно набрал
@Html.Action("ActionMethod","Controller")
он не перенаправляется на мой контроллер,и когда я проверил источник просмотра моей страницы, он только генерировал имя моего контроллера.Так ли они разные? - это так,где использовать какой из них?Пожалуйста помочь.Спасибо за вашу помощь.

Что я уже пробовал:

@Url.Action("ActionMethod","Controller")
@формат HTML.Действие("ActionMethod","Controller")

1 Ответов

Рейтинг:
2

Manas_Kumar

@URL-адрес.Действие()

Он генерирует URL-адрес в соответствии с предоставленным именем действия, contrillername, объектом маршрута.
Он содержит 8 методов перегрузки.

@Url.Action("ActionMethod","Controller")


@формат HTML.Действие()

Он вызывает дочернее действие в контроллере и возвращает Html-строку в качестве результата.
Он содержит 6 методов перегрузки.
@Html.Action("ActionMethod","Controller")

Действие контроллера:
public class MyController
{
	[ChildActionOnly]
	public ActionResult ActionMethod() 
	{
		var menu = GetMenuFromSomewhere();
		  return PartialView(menu);
	}
}

Используйте @Url.Action() при перенаправлении любой страницы, вы можете использовать его в
<a href="@Url.Action("Action")">click</a>


С другой стороны, вам нужно использовать @Html.Действие (), когда вам нужен результат в виде HTML-строки. Вы можете привязать частичное изображение на странице просмотра.


vaibhav1800

В любой ситуации, когда вы предпочитаете использовать URL-адрес.Действий, чем HTML.Действие ?