我正在使用最新版本的Auto Mapper 6.1.0'.我有 Poll和PolOption下面的表格:
public class Poll
{
public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public virtual ICollection<PollOption> Options { get; set; }
}
public class PollOption
{
public virtual string Title { get; set; }
public int Id { get; set; }
public int PollId { get; set; }
public virtual Poll Poll { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有两个viewModels这样的模型像: …
我有以下解决方案:
src
/Web
/Web.Admin
/Controller
/TestControllr.cs
/Views
/Test
/Index.cshtml
Run Code Online (Sandbox Code Playgroud)
我将应用程序部分用于单独的“我的应用程序部分”:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
var adminAssembly = Assembly.Load(new AssemblyName("Web.Admin"));
services.AddMvc().AddApplicationPart(adminAssembly);
services.Configure<RazorViewEngineOptions>(options =>
{
options.ViewLocationExpanders.Add(new AdminViewLocationExpander());
});
}
}
Run Code Online (Sandbox Code Playgroud)
并创建一个 ViewLocationExpander 名称AdminViewLocationExpander:
public class AdminViewLocationExpander : IViewLocationExpander
{
public void PopulateValues(ViewLocationExpanderContext context)
{
}
public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
{
const string adminAssembly = "Web.Admin";
var adminViewsLocations = new []
{
$"/{adminAssembly}/Views/{{1}}/{{0}}.cshtml",
$"/{adminAssembly}/Views/Shared/{{0}}.cshtml"
};
viewLocations = adminViewsLocations.Concat(viewLocations);
return viewLocations;
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用此 URL …
我从服务器获取标签名称列表并getedTags填充data. 我的问题是data它是一种字符串类型,而它必须是一个数组、数据值:"["HTML","CSS"]"但我需要["HTML","CSS"]如何获取字符串数组并添加到getedTags变量?
var getedTags = [];
$.get(getTagurl,
function (data) {
getedTags = data;
});
Run Code Online (Sandbox Code Playgroud) 我想在另一个程序集中找到“我的项目 Razor 页面”。为此,我编写以下代码:
public void ConfigureServices(IServiceCollection services)
{
var adminAssembly = Assembly.Load(new AssemblyName("App"));
services.AddMvc().AddApplicationPart(adminAssembly).AddRazorOptions(options =>
{
var previous = options.CompilationCallback;
options.CompilationCallback = context =>
{
previous?.Invoke(context);
context.Compilation = context.Compilation.AddReferences(
MetadataReference.CreateFromFile(typeof(dodo).Assembly.Location));
};
});
services.Configure<RazorViewEngineOptions>(options =>
{
options.FileProviders.Add(new EmbeddedFileProvider(Assembly.Load("App")));
options.FileProviders.Add(new PhysicalFileProvider(@"C:\Users\soheil\Documents\Visual Studio 2017\Projects\WebApplication5\App"));
});
}
Run Code Online (Sandbox Code Playgroud)
我的解决方案:

运行时localhost:5000/SameTodo出现以下错误:
缺少一个或多个编译参考。确保您的项目引用“Microsoft.NET.Sdk.Web”并且“PreserveCompilationContext”属性未设置为 false。
堆:
找不到类型或命名空间名称“SameTodoModel”(您是否缺少 using 指令或程序集引用?) + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; 私人套装;无法找到类型或命名空间名称“SameTodoModel”(是否缺少 using 指令或程序集引用?) + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary ViewData => (global::Microsoft.AspNetCore .Mvc.ViewFeatures.ViewDataDictionary)PageContext?.ViewData; 找不到类型或命名空间名称“SameTodoModel”(您是否缺少 using 指令或程序集引用?) + public SameTodoModel Model => ViewData.Model; 找不到类型或命名空间名称“SameTodoModel”(是否缺少 using …
c# ×3
asp.net-core ×2
razor ×2
arrays ×1
asp.net-mvc ×1
automapper ×1
dto ×1
javascript ×1
jquery ×1
razor-pages ×1