【问题标题】:Making link of html.helper制作html.helper的链接
【发布时间】:2014-06-02 20:24:03
【问题描述】:

我正在为网页创建一个简单的 CMS...当我创建一个新页面时,我会在 像这样的视图:

@Html.DisplayNameFor(model => model.Url)

我可以将这段代码嵌入到一个锚标记中并将其指向正确的地址吗?

假设我创建了一个名为 games 的页面,其中包含 model.url = "/games" 现在的样子,我不得不写:

http://localhost:xxx7/games

要找到它...我真的很想点击它。

编辑: 谢谢你的回答!我确定您描述的方式是正确的。 事情是这样的,我显示我的页面:

@Html.DisplayNameFor(model => model.Url)

包含一个可能有 10 个不同的表:

@Html.DisplayNameFor(model => model.Url)

如果我这样做:

@Html.ActionLink( @Html.DisplayNameFor(model => model.Url).ToHtmlString(), "Index", "Games")

他们都会指向同一个地方,我需要它是动态的,以便每个:

@Html.DisplayNameFor(model => model.Url)

指向它所代表的网址。

【问题讨论】:

  • 我不明白...你想达到什么目的?
  • 我希望 @Html.DisplayNameFor(model => model.Url) 成为一个可点击的链接,将我引导至它所代表的页面。
  • model.Url 是一个数组吗?
  • model.url 是我在视图中循环的众多属性之一。
  • 对不起,我当然在循环这个对象:@Html.DisplayFor(modelItem => item.Url)

标签: c# asp.net-mvc hyperlink


【解决方案1】:

阅读:http://www.w3schools.com/aspnet/mvc_htmlhelpers.asp@Html.ActionLink()

@Html.ActionLink("Link name or whatever", "your_action", "your_controller")

更多信息:http://msdn.microsoft.com/en-us/library/system.web.mvc.html.linkextensions.actionlink(v=vs.118).aspx

【讨论】:

  • 谢谢!我会尽快调查的
  • 好的,但无论如何它可能不起作用,因为我不知道你为什么在你的模型中传递一个 url。应该将您重定向到控制器的外部 URL 还是内部 URL?
【解决方案2】:

通常的方法是使用 Html.ActionLink 来指定控制器和视图。

@Html.ActionLink( "Display Name", "ActionName", "ControllerName")

所以你可以这样做:

@Html.ActionLink( @Html.DisplayNameFor(model => model.Url).ToHtmlString(), "Index", "Games")

但是,如果您以其他方式生成 url,或者如果它在您自己的页面外部,我认为您没有理由不能将其放入锚点中:

<a href="@Html.DisplayNameFor(model => model.Url)">DisplayNameFor(model => model.Url)</a>

【讨论】:

    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    相关资源
    最近更新 更多