gpt4 book ai didi

asp.net-mvc - 如何将 ASP.NET MVC 用户控件构建到类库中

转载 作者:行者123 更新时间:2023-12-02 05:15:17 26 4
gpt4 key购买 nike

我正在尝试将一些 .ascx 控件构建到我正在构建的 CMS 的插件类库中。

我的项目类型是一个典型的 C# 类库,为 system.web.mvc 和 friend 添加了引用。

我的问题出现在尝试创建强类型用户控件时。我的控件如下所示:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TagCloudWidget.Models.TagCloudWidgetData>" %>

即使我在同一个项目中的命名空间 TagCloudWidget.Models 下有另一个公共(public)类,我似乎无法获取 .ascx 文件来识别它。我试过为命名空间包含 Imports,但它只是提示命名空间不存在。 TagCloudData 类文件如下所示:

namespace TagCloudWidget.Models
{
public class TagCloudWidgetData
{
public IList<TagCount> TagCounts { get; set; }
public ContentTypes ContentType;
public string Controller;
public string Action;

public TagCloudWidgetData(IList<TagCount> tagCounts, ContentTypes contentType, string controller, string action)
{
TagCounts = tagCounts;
ContentType = contentType;
Controller = controller;
Action = action;
}
}
}

你能看出我做错了什么吗?

根据下面的建议,我尝试添加一个代码隐藏文件。我想我更接近于找出问题所在,但我仍然无法找到解决方案。在项目中,我添加了对 System.Web 和 System.Web.Mvc 的引用。但是,在代码隐藏文件的使用部分,当我键入“使用系统。”时,自动完成甚至不显示 System.Web 或 System.Web.Mvc 作为可用选项。就像它们不存在于光盘上一样。其他项目能够包含它们并很好地引用它们。我想这就是我的问题的根源,所以我希望一旦我弄清楚这一点,剩下的就会落到实处。想法?

最佳答案

我在使用 Beta 版启动的应用程序时遇到了类似的问题。我发现唯一可行的是为控件创建代码隐藏文件并在代码隐藏中定义继承。然后在控件中,让它继承代码隐藏中定义的类。在较新的项目中,使用 1.0 从头开始​​构建,我没有这个问题——但是我也没有在库中定义我的部分类。

关于asp.net-mvc - 如何将 ASP.NET MVC 用户控件构建到类库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1051231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com