如何从asp.net mvc中的视图传递数据到控制器操作?

时间:2016-11-14 09:06:40

标签: c# asp.net asp.net-mvc

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

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

我在视图中有以下代码:

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

我想将数据发送到Controller控制器的ActionName操作。

控制器操作如下所示:

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

我可以毫无问题地调用控制器动作,但我无法传递数据。谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:-1)

你可以进行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!!!");
        }
    });
});