2017-08-29 192 views
1

我有谷歌,並嘗試了很多不同的解決方案來解決這個問題,他們都沒有工作。這是我得到的。我試着通過一個Action Link和一個錨標籤。嘗試從ActionResult中的網址獲取它。這種定位的標籤產生正確的URL將AngularJS參數傳遞給ActionResult方法

HTML

<a class="link btn btn-default" ng-href="@Url.Action("CloseProject", "Home")?id={{item.ID}}">@Resource.CloseProjectButton</a> 

C#

public ActionResult CloseProject() 
    { 
     Guid id = new Guid(Request["id"]); 

      _fastaSamarbetenRepo.UpdatePropertyBagItemStatusToClosed(id); 

     return RedirectToAction("Projekt"); 
    } 

我究竟做錯了什麼?

+0

我建議使用HttpPost動作來更新數據的任何代碼。 – Shyju

+0

你的問題具體是什麼?如果您的網址正確生成缺少什麼? – Shyju

+0

該網址看起來正確。但從來沒有擊中控制器。我還沒有能夠調試。這真的很糟糕。我遇到了不附加到項目的SharePoint調試器的問題。 – AllramEst

回答

1

您應該通過new關鍵字通過parameter

@{ 
var url = Url.Action("CloseProject", "Home", new { id = "{{item.ID}}"}); 
url = HttpUtility.UrlDecode(url); 
} 

並使用data-ng-href

<a class="link btn btn-default" data-ng-href="@url">@Resource.CloseProjectButton</a> 
+1

Thanx。得到了調試器工作分秒,事實證明,控制器獲得GUID。問題在別處所以謝謝先生! – AllramEst