【问题标题】:How do I pass a link through ViewData in MVC 4?如何在 MVC 4 中通过 ViewData 传递链接?
【发布时间】:2013-06-04 15:16:19
【问题描述】:

对于 MVC 及其逻辑来说还是很新的

我有一个控制器,它看起来像

if (test1 != test2)
{
    ViewData["Return"] = "<a href =\ "http://alpha.pm.com" +">Home</a>";
    return View()
}

我希望视图能够接收此 ViewData,并显示一个链接按钮。

我在这方面遇到了一些麻烦,因此我们将不胜感激任何建议或其他选择。谢谢,我被告知我不应该在视图中使用任何逻辑,所以我目前拥有的只是

 @html.encode(ViewData["Return"])

但这只是显示文本..所以我不确定如何解决这个问题。

谢谢

【问题讨论】:

    标签: asp.net-mvc model-view-controller asp.net-mvc-4 controller


    【解决方案1】:

    就像视图中不应该有逻辑一样,控制器中也不应该有视图(例如 HTML)。

    您应该在控制器中传递 URL,并在视图中组装标签:

    @if (ViewData["Return"] != null) {
        <a href="@ViewData["Return"]>Home</a>
    }
    

    【讨论】:

    • 问题在于,我被告知视图中没有“if”语句,这是我目前的主要问题:/
    • @user2094139:你被错误地告知。从控制器检查标志的if 语句没有任何问题。问题在于包含实际业务逻辑的 if 语句。
    • 换句话说,if (test1 != test2) 不属于视图,但 if (Model.ShouldIncludeThingy) 属于。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多