MVC 컨트롤러 및 액션 메서드를 호출하는 HTML 버튼
나는 이것이 옳지 않다는 것을 알고 있지만, 설명을 위해 다음과 같은 것을하고 싶다 :
<%= Html.Button("Action", "Controller") %>
내 목표는 내 MVC 컨트롤러의 액션 메소드를 호출하는 HTML 버튼을 만드는 것입니다.
조치를 게시하지 않으면 양식을 전혀 사용할 필요가 없습니다. 입력 버튼 (제출하지 않음)이 트릭을 수행합니다.
<input type="button"
value="Go Somewhere Else"
onclick="location.href='<%: Url.Action("Action", "Controller") %>'" />
면도기 구문은 다음과 같습니다.
<input type="button" value="Create" onclick="location.href='@Url.Action("Create", "User")'" />
<button type="button" onclick="location.href='@Url.Action("MyAction", "MyController")'" />
type = "button"은
페이지를 제출하지 못하게합니다. 대신 작업을 수행합니다.
Url.Action을 사용하여 컨트롤러 작업에 대한 URL 생성을 지정할 수 있으므로 다음 중 하나를 사용할 수 있습니다.
<form method="post" action="<%: Url.Action("About", "Home") %>">
<input type="submit" value="Click me to go to /Home/About" />
</form>
또는:
<form action="#">
<input type="submit" onclick="parent.location='<%: Url.Action("About", "Home") %>';return false;" value="Click me to go to /Home/About" />
<input type="submit" onclick="parent.location='<%: Url.Action("Register", "Account") %>';return false;" value="Click me to go to /Account/Register" />
</form>
이 시도:
@Html.ActionLink("DisplayText", "Action", "Controller", route, attribute)
이것은 당신을 위해 작동합니다.
위의 몇 가지 답변을 바탕으로 다음을 수행 할 수 있습니다.
<button onclick="location.href='@Url.Action("ActionName", "ControllerName")'" />
이것은 Razor의 특정 컨트롤러 및 작업 방법에 양식을 제출하는 방법입니다.
<input type="submit" value="Upload" onclick="location.href='@Url.Action("ActionName", "ControllerName")'" />
HTML
<button>
요소는이를 포함하는 양식으로 만 포스트 백 할 수 있습니다.따라서 조치에 POST하는 양식을 작성한 다음
<button>
또는
<input type="submit" />
양식 을 넣어야합니다 .
"unterminated string constant"로 오류가 발생하는 경우 다음 면도기 구문을 사용하십시오.
<input type="button" onclick="@("location.href='"+ Url.Action("Index","Test")+ "'")" />
그래서 Razor를 사용하고 있지만 둘 중 하나를 사용하여 작동합니다. 기본적으로 링크에 버튼을 배치하고 있습니다.
<a href="Controller/ActionMethod">
<input type="button" value="Click Me" />
</a>
컨트롤러에서 작업을 구현할 때
return View("Index");
또는
return RedirectToAction("Index");
여기서 Index.cshtml (또는 작업을 생성하는 페이지) 페이지가 이미 정의되어 있습니다. 그렇지 않으면 "보기 또는 마스터를 찾을 수 없습니다 ..."오류가 발생했을 수 있습니다.출처 :
https://blogs.msdn.microsoft.com/aspnetue/2010/09/17/best-practices-for-asp-net-mvc/
onclick 방법에도 불구하고 다음과 같이 formaction을 사용할 수도 있습니다.
<button type="submit" id="button1" name="button1" formaction='@Url.Action("Action", "Controller")'>Save</button>
이 예제를 사용하는 것이 좋습니다
<a href="@Url.Action("Register","Account", new {id=Item.id })"
class="btn btn-primary btn-lg">Register</a>
홈 페이지 ( "/ Home / Index")에 있고 Admin controller의 Index 액션을 호출하려면 다음을 수행하십시오.
<li><a href="/Admin/Index">Admin</a></li>
좋아,
기본적으로 액션을 버튼에 전달하고 클릭이 발생할 때 호출해야하며, from 안에있을 필요가 없으며 버튼 을 클릭 할 때 HTML
onclick
on
버튼
을 사용 하여 트리거 할 수 있습니다 ...
<button id="my-button" onclick="location.href='@Url.Action("YourActionName", "YourControllerName")'">Submit</button>
이 예제를 사용하는 것이 좋습니다
.다음을 사용하여 호출 조치 및 컨트롤러
ActionLink
:
@Html.ActionLink("Submit", "Action", "Controller", route, new { @class = "btn btn-block"})
이 예제를 사용하십시오.
<button name="nameButton" id="idButton" title="your title" class="btn btn-secondary" onclick="location.href='@Url.Action( "Index","Controller" new { id = Item.id })';return false;">valueButton</button>
참고 URL :
https://stackoverflow.com/questions/2503923/html-button-calling-an-mvc-controller-and-action-method
'programing' 카테고리의 다른 글
TypeScript 자동 가져 오기의 WebStorm / PhpStorm 큰 따옴표 (0) | 2020.05.15 |
---|---|
pytest 'ImportError : No YadaYadaYada'라는 모듈이없는 PATH 문제 (0) | 2020.05.15 |
특성을 사용하여 특정 작업에 대해 ASP.NET MVC에서 캐싱 방지 (0) | 2020.05.15 |
Node.js에서 객체 복제 (0) | 2020.05.15 |
누군가 매우 간단한 그래픽 방식으로 코사인 유사성의 예를 제시 할 수 있습니까? (0) | 2020.05.15 |