2016-11-14 107 views
0

我正在創建一個asp.net應用程序。如何在asp.net mvc中將數據傳遞給控制器​​動作?

我有一個圖像顯示在控制器動作的視圖內。當我點擊視圖中的一個項目(比如一個圖像)時,我想將一些數據(比如ID)傳遞給控制器​​操作。

我在視圖以下代碼:

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

我想發送數據到控制器控制器的ActionName動作。

而控制器動作如下所示:

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

我可以調用沒有問題的控制器動作,但我不能傳遞數據。感謝幫助。

回答

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

謝謝你的工作。 –

+0

我做過了,我只是在接受SO上的答案而等待冷靜的時間段 –

-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!!!"); 
     } 
    }); 
}); 
+0

謝謝@Emil,這可以在不使用ajax調用的情況下完成嗎?我正在查看頁面上顯示的不同圖像,當單擊任何圖像時,與圖像相關的全部內容都會顯示在單獨的頁面上。 –

+0

你可以通過參數@ Url.Action(「ActionName」,「ControllerName」,new {someParam =「someParam」})將點擊指向URL的url。但是,這將重新加載整個頁面 – Emil

+0

謝謝@Emil的答案。然而,shajeer提供的答案似乎工作正常,並不複雜。 –

1

可以在URL操作添加圖片或圖像創建的onclick功能,使Ajax請求

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