我需要帮助ASP.NET Core中的select标签助手.
我有一个员工列表,我正在尝试绑定到选择标记帮助程序.我的员工在一个List<Employee> EmployeesList
和选定的价值将进入EmployeeId
财产.我的视图模型如下所示:
public class MyViewModel
{
public int EmployeeId { get; set; }
public string Comments { get; set; }
public List<Employee> EmployeesList {get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的员工类看起来像这样:
public class Employee
{
public int Id { get; set; }
public string FullName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何告诉我的选择标记助手在下拉列表中Id
显示时使用该值作为值FullName
?
<select asp-for="EmployeeId" asp-items="???" />
Run Code Online (Sandbox Code Playgroud)
我很感激这方面的一些帮助.谢谢.
我注意到在Visual Studio 2017中,当我按CTRL + M,CTRL + O时,区域不会折叠到定义.这有变化吗?我如何崩溃一切 - 包括地区?
顺便说一句,无论是使用键盘快捷键还是右键单击上下文菜单,我都会得到相同的结果.地区根本不会倒塌.
有没有办法轻松地将面向.NET Core 2.0的类库转换为.NET Standard?
如果我理解正确的话,如果想要在针对不同.NET框架的项目中最大化类库的可重用性,例如.NET Framework,.NET Core,Xamarin等,那么以.NET Standard为目标是更好的选择 - 前提是所有必需的API都可以在.NET Standard的版本中使用.
这就是我想将我的类库从.NET Core 2.0转换为.NET Standard 1.6或.NET Standard 2.0的原因.
我已经安装了新发布的Visual Studio 2017版本,并开始了一个针对.NET Core的全新ASP.NET Core项目.
开箱即用,我得到了
找不到类型或命名空间名称'System'(您是否缺少using指令或程序集引用?)
错误.知道是什么导致了这个以及如何解决它?
我还通过命令行尝试了对项目的dotnet恢复,并得到以下错误:
PS令人沮丧的是,在最新版本的Visual Studio 2017中,您在新项目中遇到错误!
更新2:这很奇怪.看起来原始问题是由于NuGet包源指向Visual Studio 2015文件夹下的文件夹.我取消选中它并只留下nuget.org.有了这个,我的项目似乎已经恢复了所有的包,当我启动项目时,它加载标准的ASP.NET页面.但是,如果我打开startup.cs文件,我会在整个地方得到红色的波浪线,但如果我运行该项目,它工作正常.这里发生了什么?
更新3:我关闭了项目和VS 2017.然后我重新启动VS 2017并打开项目,现在看起来没问题.而且我没有引用.NETStandard库1.6.1,现在一切似乎都运行良好.
是否有命令行命令来安装或升级.NET Core?
我查看是否在我的计算机上安装了.NET Core dotnet --version
只是为了注意到我的计算机上仍然安装了预览版本.我想知道是否可以发布一些命令将其升级到最新版本.
我有一些类库,我在ASP.NET Web API应用程序中使用它来处理我的所有后端内容,例如对多个数据库(如Azure SQL数据库,Cosmos DB等)的CRUD操作.
我不想重新发明轮子,并且能够在我在Visual Studio 2017中创建的新Azure功能中使用它们.我的所有存储库方法都使用接口.那么,我将如何在我的新Azure功能中实现依赖注入?
我没有看到对DI的任何支持,但我有点困惑.似乎Azure Functions基于与WebJobs相同的SDK,我认为去年微软已经开始在WebJobs中支持DI - 我当然知道,因为我使用Ninject实现了它.
有没有解决方法,以便我可以在我的新Azure功能项目中使用我现有的库?
我使用.NET Framework 4.6在Visual Studio 2015中创建了一个新的Azure WebJob项目.
在app.config中,我设置了三个连接字符串:
AzureWebJobsDashboard和AzureWebJobsStorage连接字符串是相同的,它们都指向我的存储帐户.我包含了一个连接字符串 - 因为它们都是相同的,除了"名称".
<add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName=mystorageaccountname;AccountKey=thisIsTheLongPrimaryKeyICopiedFromAzurePortalForMyStorageAccount" />
Run Code Online (Sandbox Code Playgroud)
一切看起来都对我,但我收到以下错误:
未正确设置Microsoft Azure WebJobs仪表板的配置.在Microsoft Azure网站配置中,必须使用以下格式设置名为AzureWebJobsDashboard的连接字符串:DefaultEndpointsProtocol = https; AccountName = NAME; AccountKey = KEY指向存储Microsoft Azure WebJobs运行时日志的Microsoft Azure存储帐户.
顺便说一下,我知道web作业正在读取app.config,因为我的代码能够连接到我的数据库并更新一些记录.
知道我做错了什么吗?
假设我有一个React组件 - 哑或不 - 我想从商店中获取一些内容并将其放入变量中以使我的代码更简洁一些.我应该使用const还是让?显然,国家将发生变化.
这是我正在谈论的一个例子.同样,我想强调,当用户与我的应用程序交互时,myValues会发生变化.
class MyComponent extends Component {
render() {
// Here, should I use const or let?
const myValues = this.props.someData;
return(
<div>
{myValues.map(item => (
<SomeOtherComponent key={item.id} data={item} />
))}
</div>
);
};
}
function mapStateToProps(state) {
return {
someData: state.someValuesComingFromApi
}
}
export default connect(mapStateToProps)(MyComponent)
Run Code Online (Sandbox Code Playgroud) 我一直在更新到最新版本的Visual Studio Preview,我认为设置已经更改.
当我在Visual Studio 2017 15.7.0 Preview 4中开始调试ASP.NET Web应用程序时,VS会打开一个新的浏览器.
我以前遇到过类似的问题,这是一个设置.这一次不是那个设定.如下所示,我的Chrome调试已取消选中.
我也知道Project - > Properties下的"Launch Browser"复选框.
如果我取消选中没有打开浏览器.之前我真正喜欢的行为是在我的默认浏览器中打开一个新标签,即Chrome.
我该如何恢复这种行为?我希望VS在Chrome中自动打开一个新标签,如果我没有打开浏览器,那么它应该会打开一个新的浏览器.
我没有在ASP.NET 5 MVC 6中看到任何用于单选按钮的标记助手.在我需要使用单选按钮的情况下,处理表单元素的正确方法是什么?
asp.net-core ×4
.net-core ×3
c# ×3
azure ×2
tag-helpers ×2
asp.net ×1
asp.net-mvc ×1
ecmascript-6 ×1
reactjs ×1