是ASP.net的新功能,從ASP.net中的按鈕單擊調用方法。我試圖創建一個簡單的頁面視圖,它有一個按鈕,點擊後,這會調用一個控制器中的方法,然後用c#進行更多的代碼和計算。使用控制器
我閱讀文章,並嘗試過,但該方法似乎並沒有被調用,調試器永遠不會停止在控制器ClickButton1方法。
我看來碼
<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");
}
}
}
是'ClickButton1'標記爲'HttpPost'?不。但是你的JavaScript正在嘗試POST。你爲什麼要做'返回'錯誤';'而不是得到錯誤信息?您是否在瀏覽器的網絡流量上查看瀏覽器的開發者工具? – mason
嗨梅森,用這個帖子的代碼爲另一個似乎具有相同pb的開發者。我肯定錯過了一些東西。 https://stackoverflow.com/questions/40928088/how-to-use-buttons-in-asp-net-to-call-a-method – Frens
我指出你在我以前的評論中錯過了什麼。 – mason