【问题标题】:How to get URL value in C# MVC and put it in an Html.ActionLink如何在 C# MVC 中获取 URL 值并将其放入 Html.ActionLink
【发布时间】:2012-09-23 12:59:14
【问题描述】:

所以我有这个页面,它将显示数据库中的单个记录。所以我的网址看起来像:

mysite.com/Vehicle/Edit/1

或者它可能会以 2、3、4、5 等结束它。取决于它所在的记录。基本上我需要这个页面中的一个链接,它将带我到另一个页面,但在 url 中具有相同的值,所以它可能看起来像:

mysite.com/Owner/Add/1

或者它可能以 2、3、4、5 等结尾。取决于链接所在的记录。

我如何使用 C# MVC 执行此操作,如果这有什么不同,我使用 Razor。 谢谢

【问题讨论】:

    标签: c# asp.net-mvc url html.actionlink


    【解决方案1】:

    您需要使用Html.ActionLink 助手之一。

    假设您将Model 传递给您的视图,该视图有一个名为Id 的属性。你可以像这样使用Html.ActionLink

    @Html.ActionLink("Add Owner", "Add", "Owner", new { id = Model.Id }, null)

    第一个参数是链接将显示的文本。 第二个参数是要调用的Action 的名称。 第三个参数是Controller 的名称,Action 所在的位置。 第四个参数是Action 的路由值。 第五个参数用于 html 属性。假设您想在链接中添加class。您可以使用new { @class = "my-link-class" } 而不是null。注意课堂前的@。那是因为class 是保留字。如果您设置style,您只需这样做:new { style = "background-color: #ffffff;" }

    所有这一切都假设您的 Add Action 接受 int id。所以是这样的:

    public ActionResult Add(int id)
    {
       // Do stuff.
    }
    

    以下是我在示例中使用的特定 Html.ActionLink 重载的文档:http://msdn.microsoft.com/en-us/library/dd504972(v=vs.108).aspx

    【讨论】:

    • 非常感谢,这实际上应该是我应该很容易弄清楚的事情。但是谢谢,很大的帮助
    【解决方案2】:

    查看此帖子以获取 URL。 How to get current page URL in MVC 3

    一旦你有了网址,你就可以在最后的'/'之后挑选出尾随字符

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 2021-06-26
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多