如何在MVC中单击按钮时将模型从视图传递到控制器?
索引 – 查看
@model SendAFaxWeb.Models.Send //view start here Test Upload File
Javascript- javascript不起作用
$(document).ready(function () { $("#btnSend").click(function () { alert("button click"); e.preventDefault(); var model = @Html.Raw(Json.Encode(Model)) $.ajax({ type: 'post', url: '@Url.Action("Send", "Home")', data: JSON.stringify({ contact: model }), contentType: 'application/json; charset=utf-8', dataType: "json", success: function (data) { alert(data); } }); }); });
调节器
public ActionResult Send(Send contact) { //some code here }
我试图通过使用javascript到控制器传递模型,但它无法正常工作。 javascript中的警报也不会弹出。 任何人都可以告诉我代码有什么问题。
您已实现跨源安全性,如: @ Html.AntiForgeryToken() 。 所以你必须在AJAX调用中将该值作为参数传递,如下所示。
AJAX:
data:{__RequestVerificationToken:$('[name=__RequestVerificationToken]').val();}
您还必须在控制器中添加属性。
[HttpPost] [ValidateAntiForgeryToken] public ActionResult Send(Send contact)
您可以使用以下代码执行此操作
@model PK.LifeStyles.Web.Models.Reimbursement //model declaration on top
您的代码背后应该是这样的
public ActionResult Save(Reimbursement data) { // your code } //just some random class public class Reimbursement{ public string Destination { get; set; } }