2015-06-12 55 views
-1

我想使用動作鏈接來調用控制器。我的網址是 localhost:16252/Concert/Index/9使用動作鏈接和查詢字符串

我想調用create controller並將id(9)發送給控制器。如何通過actionlink從地址欄訪問id(9)?

+0

什麼_exactly_您的意思是「通過actionlink訪問地址欄中的id(9)」?您使用'Html.ActionLink()'將HTML網址打印出來,沒有涉及到的地址欄。您是否問過一旦有人點擊操作鏈接後,如何在控制器代碼中讀取此ID?無論如何,請參閱http://stackoverflow.com/questions/8293934/passing-parameter-to-controller-action-from-a-html-actionlink – CodeCaster

+0

@dev不要使用「內聯代碼」來突出顯示隨機詞語。 – CodeCaster

+0

@CodeCaster謝謝我會牢記這一點。 –

回答

0

ActionLink的有一個重載允許你指定routevalues
MSDN鏈接here

@Html.ActionLink("LinkText", "Action", "Controller", new {Id= 9}, null) 
+0

地址欄中的Id值不總是9 例如index/10 index/31 index/105 如何發送id值來創建控件? –

+0

@AliRezaii這是明確的,但你可以通過一個可變的那裏,如果你需要更多的幫助,我們需要看到你的看法 – trebor

+0

我寫了這段代碼'@ Html.ActionLink(「تعریفطبقات」,「Create」,new {id = Request.QueryString [「id」]},new {@class =「css_addConcertLink」}) ' –

0

了從View傳遞,你必須使用重載這需要RouteValueDictionary的參數:

@Html.ActionLink("Link Text","MyAction", "My", new {id= 9},null) 

,並在您的控制器:

public class MyController 
{ 

    public ActionResult MyAction(int id) 
    { 
     // do something 
     return View(); 
    } 
} 

使用this overloadHtml.ActionLink()

+0

最初想到同樣的事情,但我認爲你在這個例子中使用的是[this](https:// msdn .microsoft.com/en-us/library/dd505070(v = vs.118).aspx),第一個參數是LinkText,第二個是Action,所以沒有控制器, – trebor

+0

@Toby糾正,我們必須使用這個過載:https://msdn.microsoft.com/en-us/library/dd493068%28v=vs.118%29.aspx –

+0

地址欄中的Id值不總是9 例如index/10 index/31 index/105 如何發送id值來創建控件? –