我正在检查第二版Professional ASP.NET MVC并实现了EF取代LINQ to SQL.我从第一本书中熟悉LINQ to SQL,但我对EF一无所知.无论如何,在阅读代码时,似乎没有任何改变,除了名称.相同的旧存储库类,相同的旧函数.
我做了一点研究.我知道LINQ不仅限于SQL.EF也不限于Microsoft系列SQL服务器.在这个2岁的问题中,人们对EF并不满意,并表示它过于复杂.但现在我在EF名下读相同的代码.只有使用LINQ to SQL的ADO.NET实体模型生成类.任何人都可以清除关于EF功能的大惊小怪,因为它现在是事实上的标准ORM吗?
我目前正在声明相对于当前窗口位置的templateUrl.
cvApp.directive('personalDetails', function () {
return {
restrict: 'A',
templateUrl: '../../Scripts/app/templates/personalDetails.html'
};
});
Run Code Online (Sandbox Code Playgroud)
如何相对于应用程序的根目录创建templateUrl?我正在寻找这样的东西:
templateUrl: '~/Scripts/app/templates/personalDetails.html'
Run Code Online (Sandbox Code Playgroud)
AngularJS可以做到这一点吗?
我有两个日历,每个都从calendar.SelectedDate返回一个DateTime.
如何相互减去两个选定的日期,给我两次选择之间的天数?
有一个calendar.Subtract()但它需要TimeSpan而不是DateTime.
有没有办法使用MSBuild扩展包与"本地"引用,不需要您运行安装程序?换句话说,您可以将目标存储在解决方案项目文件夹中,以便每个开发人员都不必安装它吗?
使用WIF时,我也收到了请求验证错误.我被正确地发送到STS,但在回来的路上,我得到了这个验证错误.
我遵循了所有指示.
<httpRuntime requestValidationMode="2.0" />
Run Code Online (Sandbox Code Playgroud)
校验!
[ValidateInput(false)]
Run Code Online (Sandbox Code Playgroud)
校验!
<pages validateRequest="false" >
Run Code Online (Sandbox Code Playgroud)
校验!
我尝试了一个自定义验证器,但它永远不会被实例化.
错误堆栈:
[HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (wresult="trust:RequestSecuri...").]
System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +11396740
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +82
System.Web.HttpRequest.get_Form() +212
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.IsSignInResponse(HttpRequest request) +26
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request, Boolean onPage) +145
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +108
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +270
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我试图触发分配给我的计时器模拟的事件处理程序.我如何在这里测试这个私有方法?
public interface ITimer
{
void Start();
double Interval { get; set; }
event ElapsedEventHandler Elapsed;
}
Run Code Online (Sandbox Code Playgroud)
客户端类为此对象分配事件处理程序.我想测试这个类中的逻辑.
_timer.Elapsed += ResetExpiredCounters;
Run Code Online (Sandbox Code Playgroud)
分配的方法是私有的
private void ResetExpiredCounters(object sender, ElapsedEventArgs e)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
我希望在我的模拟中有这个事件处理程序并以某种方式运行它.我怎样才能做到这一点?
更新:
在分配事件处理程序之前,我意识到我正在提升事件.我纠正了这个,但我仍然得到这个错误:
System.ArgumentException : Object of type 'System.EventArgs' cannot be converted
to type 'System.Timers.ElapsedEventArgs'.
Run Code Online (Sandbox Code Playgroud)
我这样举起来:
_timer.Raise(item => item.Elapsed += null, ElapsedEventArgs.Empty);
Run Code Online (Sandbox Code Playgroud)
要么
_timer.Raise(item => item.Elapsed += null, EventArgs.Empty);
Run Code Online (Sandbox Code Playgroud)
两者都行不通.
更新:
这对我有用.请注意,如果您尝试将信息传递给事件处理程序(如Jon在评论中指出),则无效.我只是用它来模拟System.Timers.Timer类的包装器.
_timer.Raise(item => item.Elapsed += null, new EventArgs() as ElapsedEventArgs);
Run Code Online (Sandbox Code Playgroud)
最后,如果你需要使用事件参数,这根本不会有用,因为它总是为null.但是,这是自ElapsedEventArgs只有一个内部构造函数以来的唯一方法.
以下代码运行良好,并在屏幕上启动Facebook弹出窗口,但此弹出窗口不居中.
<script type="text/javascript">
function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;}
Run Code Online (Sandbox Code Playgroud)
<a href="http://www.facebook.com/share.php?u=<full page url to share" onClick="return fbs_click()" target="_blank" title="Share This on Facebook"><img src="images/facebookimage.jpg" alt="facebook share"></a>
Run Code Online (Sandbox Code Playgroud)
以下是以弹出窗口为中心的脚本:
<script type="text/javascript">
function MyPopUpWin(url, width, height) {
var leftPosition, topPosition;
//Allow for borders.
leftPosition = (window.screen.width / 2) - ((width / 2) + 10);
//Allow for title and status bars.
topPosition = (window.screen.height / 2) - ((height / 2) + 50);
//Open the window.
window.open(url, "Window2",
"status=no,height=" + height + ",width=" + width + ",resizable=yes,left="
+ …Run Code Online (Sandbox Code Playgroud) 我的控制器中有两个动作方法.我希望两者都返回一个视图.
原因是因为我在视图中有条件检查,检查属性是否为null然后不显示div,如果用户单击加载按钮,则需要通过设置模型的属性返回相同的视图,然后显示div.
这个逻辑至少需要15次,我想创建单独的动作,返回模型但只有一个视图.可能吗?
我有一个简单的场景,我想更新现有项目的值.只有AddOrUpdate方法提供了一个委托,我可以在其中更新旧值.但是,如果密钥不存在,我不想添加任何内容.此外,TryUpdate方法没有重载,我可以获得旧值.有没有办法用当前的API做到这一点?
这是我正在寻找的签名:
bool TryUpdate(TKey key, Func<TValue,TValue> updateValueFactory)
Run Code Online (Sandbox Code Playgroud) .net ×4
c# ×3
javascript ×2
.net-4.0 ×1
angularjs ×1
asp.net-mvc ×1
calendar ×1
concurrency ×1
datetime ×1
facebook ×1
guid ×1
linq-to-sql ×1
moq ×1
msbuild ×1
popup ×1
social ×1
timespan ×1
wif ×1
xhtml ×1