我试图使用T4模板获取Views文件夹中的文件夹名称,它不断给我以下错误:
错误3编译转换:当前上下文中不存在名称"Server"c:\ Projects\LearningASPMVC\LearningASPMVCSolution\LearningMVC\StronglyTypedViews.tt 20 47
错误4命名空间不直接包含字段或方法等成员C:\ Projects\LearningASPMVC\LearningASPMVCSolution\LearningMVC\StronglyTypedViews.cs 1 1 LearningMVC
这是T4模板:
<#@ template language="C#" debug="True" hostspecific="True" #>
<#@ output extension=".cs" #>
<#@ assembly name="System.Web" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Web" #>
using System;
namespace StronglyTypedViews
{
<#
string[] folders = Directory.GetDirectories(Server.MapPath("Views"));
foreach(string folderName in folders)
{
#>
public static class <#= folderName #> { }
<# } #>
}
Run Code Online (Sandbox Code Playgroud)
更新:使用物理路径工作:
<#@ template language="C#" debug="True" hostspecific="True" #>
<#@ output extension=".cs" #>
<#@ assembly name="System.Web" #>
<#@ assembly name="System.Web.Mvc" #> …Run Code Online (Sandbox Code Playgroud) 我使用基于属性的验证为WPF构建了自己的自定义验证框架.我坚持最后一步是突出显示TextBox.实际上,它确实突出显示了文本框,但所有文本框都依赖于单个属性HasError.
public class RegistrationViewModel : ViewModel
{
[NotNullOrEmpty("FirstName should not be null or empty")]
public string FirstName { get; set; }
[NotNullOrEmpty("Middle Name is required!")]
public string MiddleName { get; set; }
[NotNullOrEmpty("LastName should not be null or empty")]
public string LastName { get; set; }
public bool HasError
{
get
{
**return Errors.Count > 0; // THIS IS THE PROBLEM**
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是XAML代码:
<Style x:Key="textBoxStyle" TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=HasError}" Value="True">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers> …Run Code Online (Sandbox Code Playgroud) 在 Cocos2d 文档中写到使用 NSTimer 不是一个好主意。为什么不推荐使用 NSTimer。我知道 Cocos2d 有一个调度方法。
我正在动画UIView(alpha)属性,我想在动画完成后我可以从超级视图中删除它.
-(void) hideOverlayView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[topView setAlpha:0];
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
一种选择是使用带延迟选项的performSelector,但是有更紧凑的方法吗?
更新1:
为什么此代码会立即删除视图?
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationDelegate:topView];
[UIView setAnimationDidStopSelector:@selector(removeFromSuperview)];
[topView setAlpha:0];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
我应该首先提一下,我正在做一个淡入淡出的动画,然后淡出.上面是淡出代码,可以立即删除UIView而不是淡出效果.
我正在使用Microsoft Office Interop打开Excel文件.该文件放在一个特殊的文件夹中,Workbook代码从该文件夹中读取文件.现在,要求是Excel文件可以放在任何地方.我认为最好的方法是将Excel文件作为嵌入式资源附加.但如果我作为嵌入式资源附加,我将如何使用Excel工作簿读取该文件.
_excelapplication.Workbooks.Open(Filename: pExcelTemplatePath);
Run Code Online (Sandbox Code Playgroud)
无论文件的位置如何,读取Excel模板文件的最佳方法是什么?
我试图扩展UIView类以包含一个setUserData方法,该方法将保存对象值或任何值.这是宣言:
userData被定义为.h文件中的id属性.
@implementation UIView (Extensions)
@synthesize userData;
-(void) setUserData:(id)value
{
self.userData = value;
}
@end
Run Code Online (Sandbox Code Playgroud)
当然xCode抱怨我不能在类别中使用@synthesize.我怎样才能完成这个任务,或者UIView中已经存在一些可以容纳对象的属性.就像tag属性一样,tag属性只保存整数.
当用户将鼠标悬停在图标上时,我正在创建DIV菜单.div菜单还有两个带有onclick事件的子div.当我鼠标悬停在图标上时,会出现菜单div,但是当我要选择子div时,主菜单div会隐藏.
<div id="actionMenu" style="display:none;width:40px;height:30px;background-color:white;z-index:9">
<div id="addRowDiv">Add</div >
<div id="deleteRowDiv">Delete</div>
</div>
$(actionImage).mouseover(function(e) {
// get the coordinates
var x = e.pageX - 40;
var y = e.pageY - 10;
$("#actionMenu").css({
position:"absolute",
top: y + "px",
left: x + "px"
});
$("#actionMenu").attr("rowId", $(td).parent().attr("id"));
$("#actionMenu").show();
});
$("#actionMenu").mouseout(function() {
$(this).hide();
});
$("#actionMenu").find("#addRowDiv").click(function() {
alert('add row clicked');
});
Run Code Online (Sandbox Code Playgroud)
更新1:
我有一个填充了数据的表.其中一列是图标(actionImage).当我将鼠标悬停在图标上时,我想显示div菜单(完成).div菜单有两个子div(添加和删除).现在,当我将鼠标悬停在子div上时,主div(actionMenu)消失了.为什么它会消失,因为子div在操作菜单div中?
我正在使用以下代码对工具集合进行分组:
var filteredTools = from t in tools
group t by new { t.ModuleName,t.Number}
into g
select new { ModuleName = g.Key, Values = g };
Run Code Online (Sandbox Code Playgroud)
tools是一个简单的集合,定义如下:
List<Tool> tools
Run Code Online (Sandbox Code Playgroud)
执行分组后,我得到3行(从40行),因此分组工作正常.行具有g.Key的键,值是分组条件.无论如何都要将它与原始工具联系起来.也许每个工具的密钥都应该是唯一的,因此在执行分组后,我可以从工具集中获取原始工具.
我在用户点击图钉时显示自定义UIView(如Zillow应用程序).现在的问题是我需要将视图放在实际引脚的正上方.MKAnnotationView坐标系与地图相关.如何获取iPhone屏幕的坐标,然后将我的视图放在该坐标上.
- (void)mapView:(MKMapView *)mv didSelectAnnotationView:(MKAnnotationView *)view
{
// get view from storyboard
ZillowSearchResultAnnotation *annotation = (ZillowSearchResultAnnotation *) view.annotation;
PropertyAbstractViewController *propertyAbstractViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PropertyAbstractIdentifier"];
propertyAbstractViewController.view.frame = CGRectMake(0, 0, 100, 100);
[propertyAbstractViewController bind:annotation.data];
[mv addSubview:propertyAbstractViewController.view];
}
Run Code Online (Sandbox Code Playgroud) 我在地图上显示一个图钉,但我无法自定义注释视图的显示.由于某种原因,我的viewForAnnotation没有被调用.这是didFinishLaunchingWithOptions方法.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[mapView setDelegate:self];
locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[mapView setShowsUserLocation:YES];
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这是我永远不会被调用的viewForAnnotation方法.
- (MKAnnotationView *)mv:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
NSLog(@"viewForAnnotation");
if([annotation isKindOfClass:[MKUserLocation class]])
return nil;
static NSString *annotationIdentifier = @"AnnotationIdentifier";
MKPinAnnotationView *pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationIdentifier];
[pinView setPinColor:MKPinAnnotationColorGreen];
pinView.animatesDrop = YES;
pinView.canShowCallout = YES;
UIImageView *houseIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"house.png"]];
pinView.leftCalloutAccessoryView = houseIconView;
[houseIconView …Run Code Online (Sandbox Code Playgroud) ios ×3
c# ×2
mapkit ×2
objective-c ×2
excel ×1
jquery ×1
mkannotation ×1
resources ×1
t4 ×1
textbox ×1
validation ×1
wpf ×1