我试图通过我的View传递以下ViewModel的实例:
public class CompanyListViewModel<T> where T : ICompany
{
public IEnumerable<T> CompanyList;
public IEnumerable<string> StateList;
public CompanyListViewModel(IEnumerable<T> list)
{
CompanyList = list;
}
}
Run Code Online (Sandbox Code Playgroud)
View采用的方式如下:
@model Project.ViewModels.CompanyViewModels.CompanyListViewModel<ICompany>
Run Code Online (Sandbox Code Playgroud)
我的控制器代码将这样的内容传递给View:
CompanyListViewModel<ICompanyInListAsUser> model = new CompanyListViewModel<ICompanyInListAsUser>(_companyService.FilterByCompanyState(state));
Run Code Online (Sandbox Code Playgroud)
凡ICompanyInListAsUser
接口实现的ICompany
接口.本_companyService.FilterByCompanyState(state))
类返回IEnumerable
的Company
对象,进而实现ICompanyInListAsUser
接口.
出于某种原因,访问我的视图时收到以下错误:
The model item passed into the dictionary is of type 'Project.ViewModels.CompanyViewModels.CompanyListViewModel`1[Project.ViewModels.CompanyViewModels.ICompanyInListAsUser]', but this dictionary requires a model item of type 'Project.ViewModels.CompanyViewModels.CompanyListViewModel`1[Project.ViewModels.CompanyViewModels.ICompany]'.
如果ICompanyInListAsUser
接口确实实现了,为什么我收到此错误ICompany
?
任何帮助将不胜感激.
谢谢.
编辑
我还想说明我想在这里实现的目标.假设我的应用程序中有多个访问级别(例如用户和管理员).如果我的Company …
有什么方法可以列出当前存储在OutputCache中的页面吗?
只是一个路径列表可以做,但如果有办法获得有关每个项目的更多信息(到期等),那就更好了.
我正在进行一个小项目,我正在试验AppHarbor.对于那些不熟悉它的人,AppHarbor允许您通过添加特定的Git远程,然后将项目/源推送到该远程,在云中自动构建和部署ASP.NET MVC项目.
我目前正在工作的方式是我将在GitHub上有一个主Git存储库,我将其克隆到我的开发机器上.然后我将AppHarbor遥控器添加到我的工作副本中.我会做出我的更改,每次提交保存时都会向GitHub推送,当我准备部署新版本时,我可以将其推送到AppHarbor.
虽然这是一个很棒的工作流程,但它给我带来了一个关于配置文件的新问题.我以前做的是Web.config
从源代码控制中排除,而是检入一个名为的文件Web.config.example
,其中包含所有正确的密钥但具有虚拟值.然后,我只需在我的开发机器上复制该文件,删除.example
扩展名并编辑值以适应.
在部署时,我将创建另一个名为的副本Web.config.live
,将值替换为服务器的正确值,上传并删除.live
扩展名.
我现在的问题是,如果Web.config
是没有源代码控制之下,当我推到AppHarbor,该项目将无法正常工作(因为它缺乏适当的配置信息).然而,我不希望在GitHub上公开可见的实时连接字符串,如果我推Web.config
送到主存储库那就是它.
我有什么选择?我很感激任何建议.
git version-control configuration-files asp.net-mvc-3 appharbor
我正在使用Code First Migrations(实体框架4.3),我想获得当前模型的压缩二进制版本,以便我可以手动将其与存储在__MigrationHistory
表中的最新模型(或者我已经存在的模型)进行比较存储在文本文件中).
有EdmMetadata.TryGetModelHash()
方法,但被标记为已弃用,如果可能,我想避免它(出于未来的原因).
我如何在EF 4.3下执行此操作?
编辑:从更多的调查和Pawel的答案中的信息我发现,这个字段不再存储散列,而是模型的压缩二进制表示.这就是我想要创造的.
当我尝试运行下面的cython代码生成一个空数组时,就会出现段错误.
有没有办法在python中生成空的numpy数组而不调用np.empty()
?
cdef np.npy_intp *dims = [3]
cdef np.ndarray[np.int_t, ndim=1] result = np.PyArray_EMPTY(1, dims,
np.NPY_INTP, 0)
Run Code Online (Sandbox Code Playgroud) 这个问题与Stack Exchange的Opserver监控套件有关:https://github.com/opserver/Opserver
Opserver中的大多数配置文件都是直截了当的.但是,我无法确定如何配置的一个部分是仪表板.
以下是DashboardSetting.json.example文件的片段:
{
...
"providers": [
{
"name": "Orion",
"type": "Orion",
"host": "orion.ds.stackexchange.com",
"connectionString": "Data Source=ny-utilsql01;Initial Catalog=SolarWindsOrion;Integrated Security=SSPI;Timeout=10"
}
]
}
Run Code Online (Sandbox Code Playgroud)
从我可以收集的内容来看,这个"Orion"提供程序类型具有一个支持数据结构,该数据结构存在于SQL数据库中,并且一旦指向,就会提供与要监视的服务器有关的信息.
我遇到的问题是我不知道如何在我的环境中设置它.我无法找到要运行的任何数据库设置脚本或描述仪表板设置的文档.
我想在我的Javascript Google API V3中创建一个漏洞,所以我按照Beginning Google Map API V3开始.但代码正在渲染整个区域.这是我的Javascript代码.
(function() {
window.onload = function() {
// Creating a map
var options = {
zoom: 6,
center: new google.maps.LatLng(36.5, -79.8),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map'), options);
// Creating an array with the points for the outer polygon
var polyOuter = [
new google.maps.LatLng(37.303, -81.256),
new google.maps.LatLng(37.303, -78.333),
new google.maps.LatLng(35.392, -78.333),
new google.maps.LatLng(35.392, -81.256)
];
// Creating an array with the points for the inner polygon
var polyInner = [ …
Run Code Online (Sandbox Code Playgroud) 我正在将 Web 应用程序迁移到 .NET Core,它使用一些 Razor 编辑器模板用于特定输入类型(例如,date
为任何DateTime
模型属性输出输入)。
几个模板使用以下方法来获取 ID 属性值,以便在 HTML 中的其他地方使用:
ViewData.TemplateInfo.GetFullHtmlFieldId("PropertyName")
Run Code Online (Sandbox Code Playgroud)
但是,这种方法似乎不再存在于 ASP.NET Core 中。
该GetFullHtmlFieldName
方法仍然存在,因此可以通过执行以下操作获得相同的结果(至少对于我测试过的所有内容):
Regex.Replace(ViewData.TemplateInfo.GetFullHtmlFieldName("PropertyName"), @"[\.\[\]]", "_")
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎有点不整洁,更不用说旧方法可能会处理一些我不知道的边缘情况。
半小时的谷歌搜索、阅读.NET Core 文档和搜索 SO 没有发现任何有用的东西。我能找到的唯一与远程相关的是这个答案(这只是确认该方法已经消失)。
有谁知道为什么GetFullHtmlFieldId
不再存在?这只是一个偶然的遗漏,还是现在有更新更好的方法来获得它?
我使用生产数据库的副本在本地计算机上进行了大量的开发,这意味着数据库中引用的大多数图像文件在本地丢失.因此,"NetworkError: 404 Not Found - XXX"
每次刷新页面时,Firebug的最新版本都会向JavaScript控制台发送消息,这使我很难看到我需要的实际信息.
我搜索了Firebug网站和Google Group没有运气.有没有办法禁用这些404通知,仍然可以看到相关的调试信息?
我正在Visual Studio 2015中编写TypeScript,安装了语言服务扩展版本2.3.3.0。我在项目的中noImplicitAny
设置了参数。true
tsconfig.json
给出以下简单的示例代码:
interface ITransformer<TInput, TOutput> {
transform(input: TInput): TOutput;
}
class Input {
name: string;
}
class Output {
name: string;
constructor(name: string) {
this.name = name;
}
}
class Test {
name: string;
}
class Transformer implements ITransformer<Input, Output> {
transform = (input) => new Output(input.name);
}
Run Code Online (Sandbox Code Playgroud)
TS编译器给我一个错误TS7006: Parameter 'input' implicitly has an 'any' type
:
现在,我可以通过向input
参数添加类型注释来轻松修复此错误:
class Transformer implements ITransformer<Input, Output> {
transform = (input: Input) => new Output(input.name); …
Run Code Online (Sandbox Code Playgroud) c# ×3
asp.net-mvc ×2
.net ×1
.net-core ×1
appharbor ×1
arrays ×1
asp.net ×1
asp.net-core ×1
caching ×1
cython ×1
firebug ×1
firefox ×1
generics ×1
git ×1
google-maps ×1
interface ×1
javascript ×1
numpy ×1
opserver ×1
outputcache ×1
python ×1
razor ×1
typescript ×1
viewmodel ×1