【问题标题】:Simple string.Format question for <a ... class="button" in mvcmvc 中 <a ... class="button" 的简单 string.Format 问题
【发布时间】:2011-08-30 09:11:07
【问题描述】:

示例链接

<div style="float:right;"><a href="<%= Url.Content("~/Home/List") %>" class="button"><span>Return to List</span></a></div>

我希望能够将一个 ID 附加到来自我的模型的 url 的末尾,如下所示,这是我的许多尝试之一

<div style="float:right;">(string.Format(<a href=\"{0}\{1}" %>, <% Url.Content("~/Test/Edit")%>, <% Model.Test.ID %>) "class="button"><span>Edit</span></a></div>

我知道如何使用操作链接,但我想保持相同的格式并生成一个按钮。

我知道这行得通

<%: Html.ActionLink("Edit", "Edit", new { Id = Model.Test.ID }) %>

那么有人提出了解决方案的想法吗?

谢谢。

【问题讨论】:

  • 嗨,您知道使用 ActionLink HTML 帮助程序的好处吗?
  • @CodeRush 我相信我是,但可能只是简短地说,只要您认为它仍然可以返回相同的最终视觉结果,请随时启发我(项目用户更懂电脑,所以一点点有助于使其更加用户友好)

标签: c# html asp.net-mvc-3 string.format


【解决方案1】:
<div style="float:right;">
    <a href="<%: string.Format("{0}/{1}", Url.Content("~/Test/Edit"), Model.Test.ID) %>" class="button">
        <span>Edit</span>
    </a>
</div>

应该这样做,虽然你可以在这里使用Url.Action

<div style="float:right;">
    <a href="<%: Url.Action("Edit", "Test", new { id = Model.Test.ID }) %>" class="button">
        <span>Edit</span>
    </a>
</div>

使用Url.Action 的主要好处是您没有将自己绑定到任何特定的 URL 路由方案,而是绑定到控制器和操作方法,从而允许您随时以您喜欢的方式更改路由。

【讨论】:

  • thx 两者都会很有用,但我现在很可能会改用 Url.Action,因为它不那么麻烦。 p.s.在你的第一个答案中,你错过了“Model.Test.ID”之后的“)”,一旦它出现在它就像一个魅力。
【解决方案2】:

如果你只是想给它添加一个类,你仍然可以使用 actionlink

<%: Html.ActionLink("Edit", "Edit", new { @id = Model.Test.ID }, new { @class = "button" }) %>

这将产生与您使用其他方法相同的结果。

【讨论】:

  • 但是这并不包括生成的&lt;a&gt;元素中的&lt;span&gt;Edit&lt;/span&gt;,这听起来像是OP想要保留的
  • 如果这个解决方案有效,那么它仍然会在按钮中显示编辑,所以这是一个值得赞成的有效点,但你的回答 Russ 是对所提出的精确问题的直接回答,所以现在我可以在 5 分钟后接受等等我接受了你的拉斯
  • 它工作了一半,我的意思是实际上只有一半的按钮显示所有文本,所以我猜我必须重新配置按钮 css 来解决这个问题,但它仍然是最理想的解决方案以使其与最新的 mvc 样式保持同步,因此我赞成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-09
  • 1970-01-01
  • 2011-10-28
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
相关资源
最近更新 更多