如何在asp.net mvc中从视图传递数据到控制器动作

本文关键字:数据 控制器 视图 asp net mvc | 更新日期: 2023-09-27 18:17:42

我正在创建一个asp.net应用程序。

我有一个图像显示在一个控制器动作的视图内。当我点击视图中的一个项目(比如一个图像)时,我想传递一些数据(比如ID)给控制器动作。

我在视图中有以下代码:

@Url.Content("ActionName", "Controller");

我想把数据发送到Controller控制器的ActionName动作。

控制器动作如下:

public ActionResult ActionName(string someParam)
{
   return View();
}

我可以调用控制器动作没有问题,但我不能传递数据。谢谢你的帮助。

如何在asp.net mvc中从视图传递数据到控制器动作

<a href='@Url.Action("MyAction", "MyController", new {id = "ID"})'>
    <img src='@Url.Content("~/Content/Images/MyLinkImage.png")' />
</a>

您可以在URL操作中添加图像或为图像创建onclick函数并进行Ajax请求

<a href="@Url.Action("ActionName", "Controller", new {someParam = "value"})">
       <img />
</a>

可以进行ajax调用

下面的例子

$('#btnSave').click(function (e) {
    e.preventDefault(); // <------------------ stop default behaviour of button
    var element = this;    
    $.ajax({
        url: "/ControllerName/ActionName",
        type: "POST",
        data: JSON.stringify({ 'Options': someData}),
        dataType: "json",
        traditional: true,
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            if (data.status == "Success") {
                alert("Done");
                $(element).closest("form").submit(); //<------------ submit form
            } else {
                alert("Error occurs on the Database level!");
            }
        },
        error: function () {
            alert("An error has occured!!!");
        }
    });
});