【问题标题】:Show link to absolute url if result is equal to string in MVC3 ASP如果结果等于 MVC3 ASP 中的字符串,则显示指向绝对 url 的链接
【发布时间】:2013-10-30 12:21:55
【问题描述】:

我有以下代码在控制器中返回 3 个选项之一(“请检查可用性”、“低库存”或“可用”)。 如何更改视图(第二部分以显示“此处”链接,该链接将打开一个新窗口,指向“www.google.com”等外部网址?

第一部分是控制器,第二部分是视图。 谢谢

    if (model.ShowInventoryAvailability)
            {
                //  Check to see if the system allows for webbackorder.  If it does then we will say that we have 'available' inventory.
                if (ApplicationSetting.GetByNameBoolean("Web_AllowBackOrder", true, "") && orderLine.Product.TrackInventory)
                {
                    var inv = (Int32)(orderLine.Product.QtyOnHand - totalOrdered);
                    if (inv <= 0)
                        line.Availability = "Please check availability" ;
                    else if (inv < model.InventoryLowStockQuantity)
                        line.Availability = "Low Stock";
                    else
                        line.Availability = "Available";
                }
                else
                { }


            }

    @if (Model.ShowInventoryAvailability)
                { 
                    <td class="os-availability">
                        @cartLine.Availability

                    </td>
                }

【问题讨论】:

    标签: asp.net asp.net-mvc-3 if-statement show html.actionlink


    【解决方案1】:

    假设您想在没有库存时添加 url 链接,您可以检查您的文本状态,或者您也可以向模型添加另一个属性,例如实际数量,并通过该属性控制条件语句。

    @if (Model.ShowInventoryAvailability)
    {
         <td class="os-availability">
         if (cartLine.Availability == "Please check availability")
         { 
              @Html.Link("http://www.google.com", "Here");
         }
         else
         {
              @cartLine.Availability
         }
         </td>
    }
    

    【讨论】:

    • 您好,感谢您的回复。 Model.Availability 不存在并返回错误:编译器错误消息:CS1061:“InSite.Mvc.Models.ViewModels.CartViewModel”不包含“可用性”的定义我必须输入其他内容吗?您假设我只想在没有可用时显示链接是正确的。谢谢
    • 尝试将if (Model.Availability == "Please check availability")更改为if (Model.Availability != null &amp;&amp; Model.Availability == "Please check availability")
    • 我将 if 更改为 @if (cartLine.Availability == "Check Availability")
    • 是的,这是我的错,我错过了不同的变量名称,我会更新帖子。很高兴它有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多