我最近安装了Visual Studio 2015 RC.我正在试图找出新的.NET Core事物......
现在我想打包我的应用程序并启动它.我想玩DNX Utility但无法弄清楚如何运行它.
我的命令提示仍然坚持说没有dnu命令说:'dnu' is not recognized.
搜索了所有整个文件系统,但没有找到.所以我不认为这是一个路径问题.
我必须手动安装吗?或者它是一个损坏的安装问题?我真的错过了一些但不知道它是什么......
什么相当于MVC5中MVC5的@Json.Encode方法?在MVC5中,我们可以在视图中访问这些方法.但是我找不到任何可以从MVC 6视图访问的方法.
如果MVC6中已有内置功能,我不想编写辅助方法.
我正在写一个自定义指令.
我希望它能像v-if它一样工作,但它内部会有一点逻辑.让我用一个例子来解释一下:
<button v-permission="PermissionFoo">Do Foo</button>
Run Code Online (Sandbox Code Playgroud)
它将检查权限并显示或隐藏组件.
目前我通过CSS样式这样做:
var processPermissionDirective = function (el, binding, vnode) {
if (SOME_LOGIC_HERE) {
el.style.display = el._display;
}
else {
el.style.display = 'none';
}
}
export default {
bind: function (el, binding, vnode) {
el._display = el.style.display;
processPermissionDirective(el, binding, vnode);
},
update: function (el, binding, vnode) {
processPermissionDirective(el, binding, vnode);
}
}
Run Code Online (Sandbox Code Playgroud)
但我不希望这个元素留在文档中.所以我正在寻找除CSS以外的其他方式,因为它必须也像DOM一样从DOM中删除v-if.
在MVC 6源代码中,我看到一些代码行,其中包含带有$符号的字符串.
正如我之前从未见过的那样,我认为它是C#6.0中的新功能.我不确定.(我希望我是对的,否则我会感到震惊,因为我从来没有碰过它.
它就像:
var path = $"'{pathRelative}'";
Run Code Online (Sandbox Code Playgroud) 我想知道为什么我们不能在枚举中添加静态方法(只有方法,而不是属性)?那有什么解释吗?
如果允许它将非常有用.
我也想了解谁禁止我们这样做?是IL还是C#?
编辑:
我不想使用扩展方法.因为我不需要传递该枚举的实例.我不需要它的价值......
我想打电话给不喜欢的FooTypes.GetGoodFoos()东西FooTypes.BadFoo.GetSomething()
编辑2:
只有我认为这可能更有用而不是在另一个类中编写这个方法吗?
public enum Colors
{
Red,
LightRed,
Pink,
/* .
.
. */
Green
public static Colors[] GetRedLikes()
{
return new Colors[]
{
Colors.Red,
Colors.LightRed,
Colors.Pink
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在MVC 6中创建自定义标记帮助程序,但无法使其工作.
这是我在Web应用程序项目中定义的演示标记助手类.
namespace Microsoft.AspNet.Mvc.TagHelpers
{
[TargetElement("demo", Attributes = CustomAttributeName)]
public class DemoTagHelper : TagHelper
{
private const string CustomAttributeName = "asp-custom";
[HtmlAttributeName(CustomAttributeName)]
public string Custom { get; set; }
public string Value { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "div";
output.Attributes["foo"] = "bar";
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在我的观点中使用它的方式:
<demo asp-custom="hello world!">
Please work this time :)
</demo>
Run Code Online (Sandbox Code Playgroud)
我尝试了很多东西.删除了TargetElement属性或更改了命名空间.没有什么变化......结果仍然相同.
顺便说一句,我的Microsoft.AspNet.Mvc.TagHelpers版本是6.0.0-beta4.
也许我必须在某个地方注册我的标签助手?我查看了MVC源代码,他们没有在任何地方引用自己的标记助手.所以我认为不需要注册.
这里的问题在哪里?
我有一些模块,有控制器和视图.它基本上是我的Web应用程序的扩展.每个模块都在一个类库中.
我想从我的Web应用程序加载这些程序集.但我在这里没有运气.
我的解决方案文件结构如下:
src
|
|-- Web.Common (Class Library Project)
| |- Files like: filters, my own controller etc...
|
|-- WebApplication (ASP.NET5 WebSite)
| |- wwwroot
| |- Controllers
| |- Views
| |- etc...
|
|-- Module 1 (Class Library Project)
| |- Controllers
| |- Views
|
|-- Module 2 etc...
Run Code Online (Sandbox Code Playgroud)
这些是我试过的:
我试着实现自己的 IViewLocationExpander
public class CustomViewLocationExpander : IViewLocationExpander
{
public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
{
yield return "/../Module1.Web/Views/Home/TestView.cshtml";
yield return "../Module1.Web/Views/Home/TestView.cshtml";
yield return "/Module1.Web/Views/Home/TestView.cshtml";
yield …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用flexbox创建2列布局。一个在侧面固定宽度,另一个(主列)填充剩余空间。
直到我将某些内容放到比overflow-x: scroll父母更大的屏幕上,它才起作用。现在,此广泛的内容不受其滚动父级限制。
这是示例:
.container {
display: flex;
}
.container .col-main {
background: gold;
flex: 1 1 100%;
}
.container .col-side {
background: cornflowerblue;
flex: 0 0 15em;
}
.slider-container {
overflow-x: scroll;
}
.slider-container .slider {
background: repeating-linear-gradient(45deg, darkseagreen, darkseagreen 10px, dimgray 10px, dimgray 20px);
width: 150em;
height: 10em;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="col-main">
<div class=slider-container>
<div class="slider">
Foo
</div>
</div>
</div>
<div class="col-side">
Side
</div>
</div>Run Code Online (Sandbox Code Playgroud)
哪一个最适合在MySql数据库中存储唯一的电子邮件?
注意:该电子邮件字段将用于用户登录.
我有多个重载方法.但我不能称之为正确的.如何告诉编译器我特别想要"这个方法"被称为"有这个参数"?
顽皮的方法是第二个:
public string Translate(string text, params object[] args)
{
// Blah blah blah...
}
public string Translate(string text, string category, params object[] args)
{
// Here we do some blah blah blah again...
}
Run Code Online (Sandbox Code Playgroud)
这里当我尝试调用第一个方法时:Translate("Hello {0} {1}", "Foo", "Bar");编译器假定我正在调用第二个方法并将参数设置为category = "Foo"和args = "Bar".
我试着在调用它们时命名参数,但它给了我一些编译器错误.
Translate("Hello {0} {1}", args: "Foo", "Bar"); // CS1738
Translate("Hello {0} {1}", args: "Foo", args: "Bar"); // CS1740
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我是Knocout.JS的新手,所以我不知道如何解决我的问题.假设我想写一个小货币转换器.
<div>
Rate: <input type="text" data-bind="value: Rate" />
</div>
<div>
USD: <input type="text" data-bind="value: Dollar" />
</div>
<div>
EUR: <input type="text" data-bind="value: Euro" />
</div>
Run Code Online (Sandbox Code Playgroud)
我的模型是:
var viewModel = function() {
this.Rate = ko.observable(0);
this.Dollar = ko.observable(0);
this.Euro = ko.computed(function() {
return this.Dollar() * this.Rate();
}, this);
}
ko.applyBindings(new viewModel());
Run Code Online (Sandbox Code Playgroud)
所以我想确保每个文本框的更改事件都更新另一个.例如,如果美元更新,我也想更新欧元.
这是我的游乐场:http://jsfiddle.net/gnL4we9z/
我想要一个Indexer,但是setter和getter的类型应该是不同的.
public Foo this[string key]
{
get
{
return FindFoo(key);
}
}
public Bar this[string key]
{
set
{
DoMagic(key, value);
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试:
myClass["hello"] = coolBar;
Run Code Online (Sandbox Code Playgroud)
它说:电话不明确
反正有没有这样做?
c# ×6
asp.net ×2
asp.net-mvc ×2
.net ×1
asp.net-core ×1
c#-6.0 ×1
css ×1
dnx ×1
enums ×1
flexbox ×1
indexer ×1
javascript ×1
knockout.js ×1
mysql ×1
static ×1
tag-helpers ×1
vuejs2 ×1