我对以下情况感到困惑.假设我有一个带行的表.当用户单击表中的按钮时,我希望用户表单向下滑动jQuery并显示包含所选行值的表单.以下是我目前正在做的事情,这没有多大意义:
视图
<tr ng-click="setItemToEdit(item)" slide-down-form>
Run Code Online (Sandbox Code Playgroud)
...
<form>
<input type="test" ng-model={{itemToEdit.Property1}} >
<button ng-click=saveEditedItem(item)" slide-up-form>
<form>
Run Code Online (Sandbox Code Playgroud)
控制
$scope.itemToEdit = {};
$scope.setItemToEdit = function(item) {
$scope.itemToEdit = item;
});
$scope.saveEditedItem = function(item) {
myService.add(item);
$scope.itemToEdit = {};
}
Run Code Online (Sandbox Code Playgroud)
指令 - 上滑/下滑
var linker = function(scope, element, attrs) {
$(form).slideUp(); //or slide down
}
Run Code Online (Sandbox Code Playgroud)
似乎我的指令和我的控制逻辑太过断开了.例如,如果存在保存错误会发生什么?表单已隐藏,因为slideUp事件已完成.在这种情况下,我很可能想要阻止slideUp操作.
我只使用AngularJS大约一个星期,所以我确信有些东西我不见了.
所以我试图弄清楚传递给我的方法的任何随机IEnumerable是否已被分组.我的想法是,我将以不同的方式处理分组数据.我的问题是IGrouping<>通用接口没有实现非泛型接口,无论出于什么原因我都无法用is语句测试它.
要在此处测试这是我的示例代码:
var dict = new Dictionary<int, string>() {
{1, "Prime" },
{2, "Prime" },
{3, "Prime" },
{4, "Not" },
{5, "Prime" },
{6, "Not" },
{7, "Prime" },
{8, "Not" },
{9, "Not" },
{10, "Not" },
{11, "Prime" }
};
var grouped = from d in dict
group d by d.Value into gd
select gd;
Debug.WriteLine("IEnumerable<IGrouping<string, KeyValuePair<int, string>>>: {0}", grouped is IEnumerable<IGrouping<string, KeyValuePair<int, string>>>);
Debug.WriteLine("IEnumerable<IGrouping<object, KeyValuePair<int, string>>>: {0}", grouped is IEnumerable<IGrouping<object, KeyValuePair<int, string>>>); …Run Code Online (Sandbox Code Playgroud) 我一直在阅读AngularJS,它似乎非常有前途,我唯一想弄清楚的,不是特定的框架,但它是客户端模板的一般.
假设您有一个具有多个角色的Web应用程序,每个角色可能包含附加功能,,,因此您不能为每个角色设置不同的模板,这被认为是不好的做法,所以我的问题是使用客户端的最佳方法是什么同时模板,不会将模板暴露给客户端,所以例如,AngularJS我不必使用ng-show?在服务器端生成模板的最佳工具是什么?
我有一个混合的WebForms / MVC应用程序,我正尝试将其部署到暂存环境中,该环境是带有IIS 7.5的Server 2008 R2的全新安装。
在任何人的本地计算机上(通过Visual Studio的Web服务器)进行开发时,该应用程序都可以正常工作,但是当将其托管在登台服务器上时,会出现以下错误:
HTTP错误401.3-未经授权
由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。
我已设置为尝试解决此问题的方法:
我正在使用AngularJS,我有一个拥有自己的Controller的指令.它继承了父控制器的范围.
例如,请考虑以下事项:
function ParentCtrl() {
$scope.aMethod = function() {
// DO SOMETHING
};
}
function ChildCtrl() {
$scope.bMethod = function() {
// DO SOMETHING ELSE
}
}
Run Code Online (Sandbox Code Playgroud)
现在,$scope.aMethodParentCtrl()由ng-click指令触发.我想做的是调用$scope.bMethodChildCtrl().我该怎么做?
编辑:更多信息.与ParentCtrl关联的模板有一个按钮和多个指令.每个指令都加载一个具有不同输入集的表单.单击ParentCtrl模板中的按钮时,将通过ng-switch on和一个接一个地加载指令ng-switch-when.
当用户单击该按钮时,属于指令的ChildCtrl旨在以各自的形式存储数据.
因此,单击按钮时:
1.ChildCtrl保存与已加载的当前指令关联的模型.
2. ParentCtrl加载系列中的下一个指令.
ng-click绑定到与ParentCtrl关联的按钮.但是当单击该按钮时,ChildCtrl还需要执行一些操作(保存表单数据).如何实现这一目标?
假设我的命令架构模式中有一个方法可以改变图形路径的内容,如下所示:( GraphicsPath是IDisposable)
(这纯粹是一个未经测试的快速示例)
public void DoSomething(ref GraphicsPath path)
{
if(path != null)
{
List<PointF> pts = new List<PointF>();
foreach(PointF pt in path.PathPoints)
{
//again, just a silly example.
float y = pt.X;
float x = pt.Y;
pts.Add(new PointF(x, y));
}
path.Dispose(); //<-- Do I need this?
path = new GraphicsPath(pts.ToArray(), path.PathTypes);
}
}
Run Code Online (Sandbox Code Playgroud)
在将路径设置为等于新路径之前,是否需要设置路径?如果是这样,为什么?
我是Redis的新手,就像......我真的不确定它是如何工作的.但我正在考虑将其用于具有相对简单的数据结构的Web应用程序,这可以从Redis的速度中受益.事情是这个应用程序可能最终获得数百万行.由于Redis是"内存中"而"磁盘支持"这意味着我将需要足够的内存来运行这些数百万行的值?或者它只将值加载到最近或通常访问的内存中?
我在看什么样的硬件要求?有没有人有Redis和硬件使用的任何实际例子?
AuthorizeAttribute显示得很好,但就我而言,我无法弄清楚AllowAnonymousAttribute类的位置.
每当我将它添加到代码中时,我都会遇到编译错误.
[Authorize] //works fine
public ActionResult DoSomething(){
...
}
[AllowAnonymous] //COMPILER ERROR type not found. Red squigglies. Bad.
public ActionResult Foo() {
...
}
Run Code Online (Sandbox Code Playgroud)
我在一个MVC3项目中.
我刚刚安装了最新版本的nodejs,虽然我可以让它运行js文件就好了,我无法让npm做任何事情.
如果我打开node.exe,它会弹出一个提示,然后我分别尝试了以下各项,但没有一个工作:
> node npm install socket.io
> npm install socket.io
> help
> node help
Run Code Online (Sandbox Code Playgroud)
以上所有结果除了要返回的行"..."之外什么都没有,然后我输入的所有东西,我只是得到另一行"......".
这非常令人沮丧.我究竟做错了什么?
我真的希望能够对我绑定的东西进行一些操作.类似于能够在ASP.Net中的<%#%>标记中调用String.Format().
例如,假设这是我绑定的类型:
class User {
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是我绑定它的标签(我知道这不起作用):
<Label Name="someLabel" Content="{Binding LastName+,+FirstName+ +Age}")/>
Run Code Online (Sandbox Code Playgroud)
我希望结果如何:史密斯,约翰32
我可以创建两个指令.在这种情况下,一个名为zMonthSelect,另一个名为zTest,引用zMonthSelect.如果它们是嵌套的,Angular似乎不喜欢它们.这是为什么?我该怎么办才能修复它?
这是代码:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
});
app.directive('zMonthSelect', function () {
return {
restrict: 'E',
priority: 1000,
scope: {
month: '=month'
},
template: '<select ng-model="month">' +
'<option value="1">Jan</option>' +
'<option value="2">Feb</option>' +
'<option value="3">Mar</option>' +
'<option value="4">Apr</option>' +
'<option value="5">May</option>' +
'<option value="6">Jun</option>' +
'<option value="7">Jul</option>' +
'<option value="8">Aug</option>' +
'<option value="9">Sep</option>' +
'<option value="10">Oct</option>' +
'<option value="11">Nov</option>' +
'<option value="12">Dec</option>' +
'</select>',
controller: function($scope) {
}
};
}); …Run Code Online (Sandbox Code Playgroud) angularjs ×4
c# ×4
javascript ×2
.net ×1
asp.net-mvc ×1
c#-4.0 ×1
data-binding ×1
directive ×1
hardware ×1
idisposable ×1
igrouping ×1
iis-7.5 ×1
node.js ×1
npm ×1
redis ×1
reference ×1
windows ×1
wpf ×1