如何检索控制器中的actionlink文本?

时间:2018-05-19 06:54:22

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

我的导航栏中有一个actionlink列表,如下所示

                            
  • @ Html.ActionLink(" Customer Profile"," Index"," Profile")
  •                             
  • @ Html.ActionLink("供应商档案","索引","档案")
  •                             
  • @ Html.ActionLink("发布商资料","索引","资料")
  •                         

    现在我需要检索控制器中的链接文本,通过比较像这样的链接文本的值来在属性中分配一些值

     [HttpGet]
        public ActionResult Index()
        {
            Profile profile = new Profile();
            if(linktext=="Customer Profile")
            {
                profile.cust_supply_cat_id = 1;
            }
            else if (linktext == "Supplier Profile")
            {
                profile.cust_supply_cat_id = 2;
            }
            else if (linktext == "Publisher Profile")
            {
                profile.cust_supply_cat_id = 3;
            }
    
            return View(profile);
    
        }
    

    我该怎么做?

    或者如果你知道可能的方法是什么?

    2 个答案:

    答案 0 :(得分:1)

    你可以从Html.ActionLink发送一个值,如: -

    @Html.ActionLink("Customer Profile", "Index", "Profile", new { linktext: "Customer Profile", null })
    
    然后

    接收控制器中的值作为参数的参数,如: -

    [HttpGet]
    public ActionResult Index(string linktext)
    {
        //your code
    }
    

    答案 1 :(得分:1)

    您可以在Index功能中添加参数。 E.g:

    public ActionResult Index(int id).
    

    然后将参数值添加到ActionLinks。 E.g:

    @Html.ActionLink("Publisher Profile", "Index", "Profile", new {id = 1}, null)
    

    希望这适合你。