我有一个用户控件(gallery.ascx),我想photo.ascx在库控件中使用该控件.我已将此寄存器添加到顶部gallery.ascx,但仍无法找到照片:
<%@ Register TagPrefix="ssctrl" TagName="photo" Src="controls/photo.ascx" %>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我一直在使用OleDb连接成功读取excel文件已有一段时间了,但我遇到了一个问题.我有一个人试图上传第一列中没有任何内容的Excel电子表格,当我尝试读取该文件时,它无法识别该列.
我目前正在使用以下OleDb连接字符串:
提供商= Microsoft.Jet.OLEDB.4.0;
数据源= c:\ test.xls;
扩展属性="Excel 8.0; IMEX = 1;"
因此,如果excel文件中有13列,那么我回来的OleDbDataReader只有12列/字段.
任何见解将不胜感激.
我有一个使用Linq-to-SQL的ASP.NET MVC 3 Web应用程序用于我的数据访问层.我每次调用Details操作时都试图增加一个Views字段,但是如果两个人碰巧同时遇到了这个动作,我会在db.SubmitChanges()上收到"Row not found or changed"错误.
public ActionResult Details(int id)
{
DataClassesDataContext db = new DataClassesDataContext();
var idea = db.Ideas.Where(i => i.IdeaPK == id).Single();
idea.Views++;
db.SubmitChanges();
return View(new IdeaViewModel(idea));
}
Run Code Online (Sandbox Code Playgroud)
我可以在我的.dbml(数据模型)中将Views字段的UpdateCheck设置为"Never",这样可以消除错误,但是想法记录可以使用相同的Views count更新两次.即
First instance of Details action gets idea record with Views count of 1.
Second instance of Details action gets idea record with Views count of 1.
First instance increments Views to 2
First instance commits
Second instance increments Views to 2
Second instance commits
Result: Views …Run Code Online (Sandbox Code Playgroud) 我有一个MVC3应用程序,它有一个自定义HandleErrorAttribute,以便我可以通过电子邮件发送错误.我经常得到"从客户端检测到一个有潜在危险的Request.Form值",但它只显示导致异常的表单值的前几个字符.我希望看到输入的整个表单值,以便在输入是恶意的或用户意外时更好地了解.但是,当我尝试在HandleErrorAttribute中提取表单值时,它会抛出相同的错误!任何想法如何从Request.Form获取表单值而不导致我的异常处理程序中的验证?
public class HandleErrorLogAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext context)
{
base.OnException(context);
//Record Error
string errorDetails = HttpUtility.HtmlEncode(context.Exception.ToString());
// Throws "otentially dangerous..." error here
foreach (var key in context.RequestContext.HttpContext.Request.Form.AllKeys)
{
errorDetails += key + "=" + HttpUtility.HtmlEncode(context.RequestContext.HttpContext.Request.Form[key]);
}
// Send Email with errorDetails
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个iOS应用程序,可以在iCloud中存储文件.当我启动应用程序时,我想确定以前的设备是否已经上传了任何文件.我启动了第一台设备并将文件添加到iCloud(我可以在Mac上的Mobile Documents文件夹中看到它们).然后我在第二个设备上启动应用程序并尝试使用以下NSMetadataQuery来查看是否已上载任何文件,但它返回0结果.如果我继续运行该查询,大约8-10秒后它会返回结果.
iCloudQuery = [[NSMetadataQuery alloc] init];
iCloudQuery.searchScopes = @[NSMetadataQueryUbiquitousDataScope];
NSString *filePattern = [NSString stringWithFormat:@"*.%@", @"txt"];
iCloudQuery.predicate = [NSPredicate predicateWithFormat:@"%K LIKE %@", NSMetadataItemFSNameKey, filePattern];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(iCloudQueryDidFinishGathering:) name:NSMetadataQueryDidFinishGatheringNotification object:iCloudQuery];
[iCloudQuery startQuery];
Run Code Online (Sandbox Code Playgroud)
当我收到通知时,resultCount为0表示查询
- (void)iCloudQueryDidFinishGathering:(NSNotification *)notification
{
NSMetadataQuery *query = [notification object];
[query disableUpdates];
[query stopQuery];
NSLog(@"Found %d results from metadata query", query.resultCount);
}
Run Code Online (Sandbox Code Playgroud)
如果文件存在于iCloud中,NSMetadataQuery是否应该返回resultCount,即使它尚未下载?有没有办法测试一个文件是否存在,而不是尝试超过和15-30秒后超时?
我正在尝试使用Entity Framework整合访问不同表的逻辑.我创建了一个扩展方法,用于从我的注册实体中提取所有注册人:
public static IEnumerable<Registration> Attending(this IEnumerable<Registration> registrations)
{
return registrations.Where(r => r.Status == RegistrationStatus.Paid || r.Status == RegistrationStatus.Assigned || r.Status == RegistrationStatus.Completed);
}
Run Code Online (Sandbox Code Playgroud)
这适用于这样的查询:
var attendees = db.Registrations.Attending().ToList();
Run Code Online (Sandbox Code Playgroud)
但是在子查询中使用它时不起作用:
ProductTotals = db.Products.Where(p => p.EventID == ev.Id).Select(p => new ProductSummaryViewModel
{
ProductID = p.ProductID,
ProductName = p.Name,
Registrations = p.Registrations.Attending().Count(),
}).ToList();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
LINQ to Entities无法识别方法'System.Collections.Generic.IEnumerable
1[Registration] Attending(System.Collections.Generic.IEnumerable1 [Registration])'方法,并且此方法无法转换为商店表达式.
有没有办法在子查询中重用该代码?
我已成功创建了一个NSCollectionView,并在IB中的视图原型中添加了一个标签,绑定到我所代表的对象的属性.我现在想以编程方式创建一个NSButton和NSTextField,其中NSTextField绑定到我表示的对象的属性.单击按钮时,我想显示并隐藏NSTextField.
我遇到的问题是,如果我在视图的initWithCoder方法中为控件添加初始化代码,并且在视图的awakeFromNib中绑定,则绑定不会被连接起来.如果我将我的控件的初始化放在awakeFromNib中,当单击该按钮时,我无法访问视图中的控件(使用NSLog打印时它们为null).
从我可以告诉它看起来问题可能是NSCollectionView的工作方式是,它创建了一个视图实例,然后复制它以了解集合视图中的每个对象的方式.如何获取初始化按钮和绑定以使用原型的副本?
下面是我的初始化代码和我在子类视图的awakeFromNib中的绑定:
SubView.h
@interface SubView : NSView {
NSButton *button;
NSTextField *textField;
IBOutlet NSCollectionViewItem *item; // Connected in IB to my NSCollectionViewItem
}
- (IBAction)buttonClicked:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
SubView.m
@implementation SubView
- (id)initWithCoder:(NSCoder *)decoder
{
id view = [super initWithCoder:decoder];
button = [[NSButton alloc] initWithFrame:NSMakeRect(50, 95, 100, 20)];
[button setTitle:@"Begin Editing"];
[button setTarget:self];
[button setAction:@selector(buttonClicked:)];
[self addSubview:button];
textField = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 100, 75)];
[self addSubview:textField];
return(view);
}
- (void)awakeFromNib
{
// Bind the textField to the representedObject's name …Run Code Online (Sandbox Code Playgroud) 我想要一个可重复使用的验证器,我可以在一组复选框字段上使用它,这将允许我指定要选择的最小数字和可以选择的最大数字.我不确定如何创建服务器端检查和客户端验证,以使用不引人注目的javascript挂钩到jQuery验证框架.
这个问题似乎是客户端适配器的良好开端,但是如何将它们组合在一起以在服务器上验证它?
asp.net-mvc unobtrusive-javascript jquery-validate asp.net-mvc-3
我正在使用MVC Mini事件探查器,并且仅向处于“事件探查器”角色的经过身份验证的用户显示事件探查器。MiniProfiler.cs中提供的示例使用的是AuthenticateRequest方法来确定是否应该停止分析,但是我切换了我的方法以使用PostAuthorizeRequest(在阅读完此问题之后),以便可以访问IPrincipal和IsInRole方法。我可以仅在PostAuthorizeRequest方法中启动分析器,还是应该继续停止并在PostAuthorizeRequest中丢弃结果?每个请求启动和停止分析器的开销是多少?
当前代码:
public void Init(HttpApplication context)
{
context.BeginRequest += (sender, e) =>
{
MiniProfiler.Start();
};
context.PostAuthorizeRequest += (sender, e) =>
{
var user = ((HttpApplication)sender).Context.User;
if (user == null || !user.Identity.IsAuthenticated || !user.IsInRole("Profiler"))
{
MvcMiniProfiler.MiniProfiler.Stop(discardResults: true);
}
};
context.EndRequest += (sender, e) =>
{
MiniProfiler.Stop();
};
}
Run Code Online (Sandbox Code Playgroud)
建议代码:
public void Init(HttpApplication context)
{
context.PostAuthorizeRequest += (sender, e) =>
{
var user = ((HttpApplication)sender).Context.User;
if (user != null && user.Identity.IsAuthenticated && user.IsInRole("Profiler"))
{
MiniProfiler.Start();
}
};
context.EndRequest += …Run Code Online (Sandbox Code Playgroud) 我有一个Azure Web作业,计划使用settings.job文件中的cron表达式每5分钟运行一次.如果该过程未在5分钟内完成,Azure将启动该作业的另一个实例,还是会等到第一个结束?
我想确保它等到第一个完成所以它没有运行多个实例.
在Visual Studio 2012中,我运行了以下Post-Build任务来编译和组合我的LESS文件:
$(MSBuildBinPath)\msbuild.exe "$(ProjectDir)MSBuildSettingsLess.xml"
Run Code Online (Sandbox Code Playgroud)
我的MSBuildSettingsLess.xml看起来像:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/MsBuild/2003">
<Target Name="CompileDotlessCss">
<ItemGroup>
<Binaries Include="*.dll;*.exe"/>
</ItemGroup>
<!-- Compile dotLess CSS into minified full CSS -->
<Exec Command="$(SolutionDir)..\Tools\dotless.compiler.exe $(ProjectDir)..\GMHC\Content\less\responsive.less $(ProjectDir)..\GMHC\Content\bootstrap-responsive.less.css"/>
<Exec Command="$(SolutionDir)..\Tools\dotless.compiler.exe $(ProjectDir)..\GMHC\Content\less\bootstrap.less $(ProjectDir)..\GMHC\Content\bootstrap.less.css"/>
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
在Visual Studio 2013中,失败并出现以下错误:
命令"C:\ Program Files(x86)\ MSBuild\12.0\bin\msbuild.exe"C:\ Users\Administrator\Documents\Projects\MedicalMissions\GMHC\MSBuildSettingsLess.xml退出,代码为9009.
输出窗口显示以下内容:
1>'C:\ Program'不被识别为内部或外部命令,
1>可操作程序或批处理文件.
1> C:\ Program Files(x86)\ MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4429,5):错误MSB3073:命令"C:\ Program Files(x86)\ MSBuild\12.0\bin\msbuild.exe"C:\ Users\Administrator\Documents\Projects\MedicalMissions\GMHC\MSBuildSettingsLess.xml"
知道为什么失败或者如何走到最底层?
c# ×6
asp.net-mvc ×5
asp.net ×2
objective-c ×2
.net ×1
architecture ×1
ascx ×1
azure ×1
binding ×1
cocoa ×1
concurrency ×1
cron ×1
excel ×1
icloud ×1
ios ×1
less ×1
linq ×1
linq-to-sql ×1
msbuild ×1
msbuild-task ×1
request.form ×1
sql-server ×1