2017-03-22 171 views
0

我想在連續滑動後將模型傳遞給控制器​​。ASP.NET MVC將表中的對象傳遞給控制器​​?

這是我的代碼不起作用。

<table class="table"> 
<tr> 
    <th> 
     <p>Sender</p> 
    </th> 
    <th> 
     <p>Subject</p> 
    </th> 
    <th> 
     <p>Received</p> 
    </th> 
    <th> 
     <p>HasAttachment</p> 
    </th> 
    <th></th> 
</tr> 

@foreach (var item in Model.Inbox) { 
<tr class="mail-row" onclick="location.href = '@(Html.ActionLink ("", "MailViewer", "Profile", new { mail = item }, null))'"> 
    <td> 
     @Html.DisplayFor(modelItem => item.Sender) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Subject) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Received) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.HasAttachment) 
    </td> 
</tr> 
} 

</table> 

我試圖使用Url.Action,但我只在URL中的對象類型,而不是實際的對象。

我嘗試發送這個對象:

public class Mail 
{ 
    public string Sender { get; set; } 
    public string Subject { get; set; } 
    public DateTime Received { get; set; } 
    public bool HasAttachment { get; set; } 

    public string content { get; set; } 
} 
+0

你只能用'Url.Action'發送原始數據類型。我會把你的對象所需的所有基本類型放到你的'Url.Action'中,然後在你的控制器中序列化這個對象。 – NotTelling

+1

爲什麼不向控制器發送ID或主鍵,並在控制器中處理以發回模型。 – Shan

+0

那麼不可能通過http url傳遞一個對象? – Amsel

回答

1

有可能與json,但你會,但你應該發送id並獲得基於行動的數據idjson你可以做這樣的

我的動作鏈接將

@Html.ActionLink("senddata", "MailViewer",new{ @data = Json.Encode(item) }) 

和我的行動w ^生病是這樣的

public ActionResult MailViewer(string data) 
     { 
      var result = System.Web.Helpers.Json.Decode<Mail>(data); 

      return View(); 

     } 
相關問題