ASP.net을 처음 사용합니다. 버튼이있는 간단한 페이지보기를 만들려고하는데 클릭하면 컨트롤러에있는 메서드를 호출하여 C #으로 더 많은 코드와 계산을 수행합니다.
나는 게시물을 읽고 이것을 시도했지만 메서드가 호출되지 않는 것 같으며 디버거는 Controler ClickButton1 메서드에서 멈추지 않습니다.
내 VIEW 코드
<div>
<input id="Button1" type="button" value="Button 1" onclick="ClickButton1()" />
<input id="Button2" type="button" value="Button 2" onclick="location.href='@Url.Action("Options", "Home")'" />
</div>
<div>
<canvas id="mapCanvas" width="500" height="150" style="border:1px solid #000000;"></canvas>
</div>
<script>
function ClickButton1() {
$.ajax({
type: "POST",
url: '@Url.Action("ClickButton1", "Definition")',
async: true,
success: function (msg) {
ServiceSucceeded(msg);
},
error: function () {
return "error";
}
});
}
</script>
내 컨트롤러
namespace Traveler.Controllers
{
public class DefinitionController : Controller
{
// GET: /<controller>/
public IActionResult Index()
{
return View();
}
// Action click on Button 1
public void ClickButton1()
{
Console.WriteLine("Button 1 Clicked");
}
}
}
여러 제출을 방지하려면 입력 유형을 제출에서 단추로 변경하십시오.
Controllers 메소드를로 표시 [HttpPost]
하고 다시 시도하십시오.
왜 그렇게해야하는지 궁금하다면 다음을 읽으십시오.
이 [HttpPost]
속성은 라우팅 엔진이 해당 작업 메서드에 대한 POST 요청을 다른 메서드보다 한 메서드에 보내도록 지시합니다. 이것은 일종의 과부하입니다.
Method를 방법으로 표시하는 방법이 궁금하다면 다음을 [HttpPost]
보십시오.
[HttpPost]
public void ClickButton1()
{
Console.WriteLine("Button 1 Clicked");
}
나는 이것이 당신을 도울 것입니다 :)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다