我正在学习asp.net mvc,我刚开始,我决定从网络表格转移到mvc.
我理解linq和lambdas的基础知识,但我想知道或得到关于这个特定语法的一个很好的解释.
@model IEnumerable<CodeplexMvcMusicStore.Models.Album>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Genre.Name)
</td>
Run Code Online (Sandbox Code Playgroud)
我想知道是什么意思 modelItem => item.Genre.Name
我对此的了解是modelItem获取值 item.Genre.Name然后传递方法Html.DisplayFor().
我也很好奇如何在不使用lambda的情况下编写相同的代码.
纠正我,如果我错了,我只想知道代码的含义以及如何阅读.
Person我有带有以下字段的表(以及实体数据模型中的实体) :
Name Type
SocialID String
FirstName String
LastName String
Run Code Online (Sandbox Code Playgroud)
这SocialID是主键。我想更新SocialID每条记录的值。但是,当我尝试在实体框架中更新此字段时,出现以下错误:
The property 'SocialID' is part of the object's key information and cannot
be modified.
Run Code Online (Sandbox Code Playgroud)
我得到上述错误的代码是:
foreach (var p in Entity.Persons)
{
p.SocialID= p.SocialID + "00";
Entity.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个对象列表.我想确定用户何时获取列表中的第一个或最后一个对象,这样我就可以禁用页面上的某些按钮.
例如,我可能有一些布尔值,如果请求的对象是列表中的最后一个或第一个,那么它将返回true,否则false.
任何的想法?
我正在尝试使用EF 5将多个搜索条件应用于结果集(在本例中,用于库目录搜索).这是相关代码:
public IQueryable<LibraryResource> GetSearchResults(string SearchCriteria, int? limit = null)
{
List<string> criteria = SearchCriteria.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
IQueryable<LibraryResource> allResults = context.LibraryResources.Include("Type").Where(r => r.AuditInfo.DeletedAt == null);
foreach (string criterion in criteria)
{
allResults = allResults.Where(r => (r.Title.Contains(criterion) || r.Keywords.Contains(criterion) || r.Author.Contains(criterion) || r.Comments.Contains(criterion)));
}
allResults = allResults.OrderBy(r => r.Title);
if (limit.HasValue) allResults = allResults.Take(limit.Value);
return allResults;
}
Run Code Online (Sandbox Code Playgroud)
样本SearchCriteria ="历史时代"
出于某种原因,只应用最后一个标准.例如,在上面的示例中,返回标题,作者,关键字和注释中具有"时代"的所有书籍,而不会过滤"历史".我逐步完成了代码,循环执行了两次,每次都有适当的标准.你能看到我不能的东西吗?谢谢!
我尝试用Ninject创建应用程序.我有一个MainForm用于设置的对话框表单.我应该如何实现这个?应该MainForm有一个Kernel实例,然后SettingsForm用Get<SettingsForm>()方法创建?或者MainForm构造函数应该具有SettingsForm实例参数?
我尝试用ninject找到一些WinForm应用程序的例子,但我发现只有一些ASP.NET应用程序在Visual C#2008 express中没用.
我有2D ArrayList.将ArrayList包含10 ArrayList秒.我尝试了以下代码:
这是主要的2D ArrayList.在主要内部ArrayList有10 ArrayList秒:
ArrayList<ArrayList<Items>> arrayList = new ArrayList<ArrayList<Items>>();
Run Code Online (Sandbox Code Playgroud)
在这里,我尝试创建其中一个的副本ArrayList(selectedRow只是一个数字,表示ArrayList我得到的)
ArrayList<Items> newList = new ArrayList<Items>(arrayList.get(selectedRow));
Run Code Online (Sandbox Code Playgroud)
之后我创建另一个ArrayList:
ArrayList<Items> changeList = new ArrayList<Items>(it.returnTheNewArrayList(newList,randomItem));
Run Code Online (Sandbox Code Playgroud)
然后在另一个类中我创建了这个方法.此方法的目的是更改其中一个对象的属性.
public ArrayList<Items> returnTheNewArrayList(ArrayList<Items> a,int item){
int randomBin = r.nextInt(50);
for(Items i:a){
if(item==i.itemIds()){
while(randomBin==i.bins()){
randomBin = r.nextInt(50);
}
i.setBin(randomBin);
}
}
return a;
}
Run Code Online (Sandbox Code Playgroud)
最后,我在2D ArrayList中设置了新的ArrayList
arrayList.set(whichList, changeList);
Run Code Online (Sandbox Code Playgroud)
这是程序.我发现,当我运行这个程序,无论是newList和changeList是相同的.在这两个中ArrayLists我都保存了我在方法中所做的更改returnTheNewArrayList(我通过调试发现了它).但我想只改变一个(changeList).
我做错了什么?
我一直在寻找一个jquery解决方案,它可以在执行某些操作(fadein等)之前监听每个图像(一堆中)的加载时间.
随着imagesLoaded我管理的所有图像加载时,要做到这一点,但我希望它一旦其他人的状态其加载相互独立的图像上执行.
我认为这是可能的imagesLoaded,但还没有设法让它工作.有人吗?
其他方案?
我有两个列表,一个列表中object A有另一个列表objects B,如下所示:
ObjectA
{
Int64 idObjectA;
String name;
....
}
ObjectB
{
Int64 idObjectB;
Int64 idObjectA;
String name;
....
}
Run Code Online (Sandbox Code Playgroud)
我有两个列表,一个用于Object A和另一个用Object B.我想创建一个list C只有的新的objects B,这IDObjectA是任何ID一个list A.
在SQL中,它将是以下内容:
select * from B where IDObjectA IN(1,2,3,4...);
Run Code Online (Sandbox Code Playgroud)
在我的例子中,值列表IN clause是列表ObjectA,其中包含属性idObjectA.
实际我在类中有一个方法如下.
public static final void print(String str){
System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)
我想final从met hod中删除修饰符.所以在这之后,我的方法将如下所示:
public static void print(String str){
System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)
使用ASM,我们将获得此信息
public MethodVisitor visitMethod(int access, String name,
String desc, String signature,
String[] exceptions) { }
Run Code Online (Sandbox Code Playgroud)
在上面,我认为要实现上述情况,我们需要使用access参数.但访问是公共+静态+最终的总和.如何删除最终是我的问题?
类级最终修饰符也一样吗?
我有:
@:<img src="@Url.Content("~/content/images/lesson_icon/")@mi.LessonId .png" />
Run Code Online (Sandbox Code Playgroud)
但它呈现为 ...lesson_icon/d40d2ff2-d06b-4fd8-80a0-0ed31bbc04eb%20.png
我怎么能摆脱%20前面的.png?