多个mvc视图中的代码重用

时间:2015-12-16 15:18:21

标签: asp.net-mvc asp.net-mvc-5

我已阅读此链接:https://www.future-processing.pl/blog/view-code-reuse-techniques-in-asp-net-mvc/

我不能使用任何帮助方式......

我必须在多个mvc网站上显示此字符串:

1612-1

这是一个查询号码:16是月中的某一天,12是一年中的一个月,1是数据库ID。我相信这不会是最后的冲击,但是现在我们把它当作给定的。

public class MyViewModel
    {
        public string City { get; set; }
        public string PostalCode { get; set; }
        public List<string> ActionItemDescriptions { get; set; }
        public string InquiryNumber { get; set; }
    }

您在哪里创建InquiryNumber?

如果我把它放在剃刀视图中,我就无法重复使用它。

2 个答案:

答案 0 :(得分:1)

向我展示业务逻辑,因此它属于业务层。

然后,从你的控制器中你:

  • 调用返回查询号的业务组件
  • 将数字存储在视图模型中
  • 将视图模型传递给视图。

答案 1 :(得分:0)

您可以通过以下方式获得查询号码,而不使用帮助程序:

在控制器中,使用以下操作方法:

public ActionResult GetInquiryNumber()
{
    // TODO : The code to get the inquiry number.
    return Content("1612-1");
}

然后,您可以使用以下内容在您喜欢的任何视图中调用该方法:

@{ Html.RenderAction("GetInquiryNumber", "Home"); }

显然,您需要提出自己的方法和控制器名称。

这不是将数据传递给视图的理想方式(最好使用viewmodel),但上述方法是您的选择。

相关问题