我覺得這個問題很荒謬,但是在這裏,我試圖做一個非常簡單的ASP.NET MVC 5應用程序。我的第一個很親切。我想有一個按鈕,點擊時會做一些事情,但不會更改用戶的視圖,或者最多返回「已提交電子郵件」消息。如何使用按鈕(非提交)單擊事件來調用我的控制器上的方法?
我的問題是我無法弄清楚如何將按鈕連接到不改變視圖的「事件」或「動作」(即使用@Html.ActionLink()
)或是提交按鈕。我找到的每個例子都是一個提交按鈕。
感謝您的任何幫助。
編輯
這仍然不適用於我。我會在下面發佈我的代碼。我的努力是基於這裏和鏈接的文章所說的。此外,僅供參考,我可以使用@ Html.ActionLink(「鏈接文本」,「動作名稱」)工作,但顯示爲鏈接,我試圖使用「按鈕」。
Index.cshtml
@{
ViewBag.Title = "Home Page";
}
<div class="hero-unit">
<h3>Marketing & Communications Project Request Form</h3>
<p>User: <strong>@Context.User.Identity.Name</strong></p>
</div>
<div class="row">
<div class="span4">
@Html.ActionLink("Send Email", "SendEmail") @*this line works*@
<input id="SendEmail" class="btn" type="button" value="SendEmail" /> @*this line does not
</div>
</div>
<script type="text\javascript">
$(function(){
var url = '@Url.Action("SendEmail", "HomeController")';
$("input#SendEmail").on('click', function() {
$.ajax({
url: url
})
});
});
</script>
的HomeController
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
public ActionResult SendEmail()
{
//Code to create and send email here
return View("Index");
}
}
也許說明明顯,但可能是值得一提的參考Jquery的,如在頁面需要引用它。 – christiandev
@christiandev我希望它是明顯的.... :) –
我使用cshtml,我會在哪裏放置jQuery功能?我曾經在視圖上想過,但我猜不到...... –