【问题标题】:unable to get property reference from other C# project in mvc application无法从 mvc 应用程序中的其他 C# 项目获取属性引用
【发布时间】:2015-03-05 12:19:04
【问题描述】:

我创建了one c# library project。 我创建了another MVC application added C# project reference into mvc application

现在在View 上,我想访问 C# 类库项目中的那个属性,但我不能这样做,为什么?

C#项目代码

namespace Helper.BaseClasses
{
    public abstract class BaseView<T> : WebViewPage<T>
    {
        private TestClass localizer;

        public override void InitHelpers()
        {
            base.InitHelpers();
            localizer = new TestClass();
        }

        public TestClass Lang
        {
            get { return localizer; }
        }
    }
}


public class TestClass 
{
 public string TestMethod(string input)
        {
//some code
}
}

mvc应用添加了c#的引用dll 索引.cshtml

<h4>@Lang.TestMethod("Customer agreements", "")</h4>

当我尝试在 Index.cshtml 中使用 TestMethod 时,出现错误

名称TestMethod在当前上下文中不存在

添加 C# 项目 dll 引用后为什么会出现此错误:(

【问题讨论】:

  • 您使用的是哪个版本的 MVC?这个“@Lang.TestMethod”是什么?
  • 尝试在视图中使用 using 子句引用您的 dll。 @using ProjectName.DLLName.BaseClasses

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

您是否在 web.config 中设置了“pageBaseType”? 如果没有,请尝试将其设置为您的基类。 为此,您需要在 ~/Views/web.config 中找到“pages”标签。 它会是这样的:

<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="WebApplication1" />
  </namespaces>
</pages>

您需要将其更改为:

<pages pageBaseType="Helper.BaseClasses.BaseView">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="WebApplication1" />
  </namespaces>
</pages>

并重建解决方案。 希望这会有所帮助。

【讨论】:

猜你喜欢
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-06
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多