我正在使用VS2010和Silverlight 4.当我运行我的代码时,调试不起作用(我在断点上得到了上述错误.
当我清理我的解决方案时,会出现警告,说系统找不到指定的文件(项目dll).它正在查找正确的路径(..\debug),但没有dll存在.
我开始了一个新的Silverlight 4项目,并得到了同样的错误.
有时调试确实有效(我不确定是否/有什么改变,但有一次我对我的断点工作感到惊讶.改变一件事后断点停止工作)
当我在解决方案中重命名项目,然后尝试构建该项目时,我收到错误:"找不到项目文件"xyz.csproj".其中xyz是旧的项目文件名!
令人讨厌的是,我可以搜索我的项目和解决方案的旧项目文件名,搜索将不会出现任何问题,当我点击错误VS什么都不做.
所以似乎无法找到旧参考的位置.
这是一个托管Silverlight页面的.web项目,如果这有任何区别的话.
我通过IDictionary将Datagrid绑定到动态数据:http://www.scottlogic.co.uk/blog/colin/2009/04/binding-a-silverlight-datagrid-to-dynamic-data-via-idictionary/comment -page-1 /#评论- 8681
但我不想在xaml中定义任何列(下面是如何在Colin Eberhardt的帖子中完成它
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="Forename" Binding="{Binding Converter={StaticResource RowIndexConverter}, ConverterParameter=Forename}" />
</data:DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)
所以我编写了以下代码来尝试在后面的代码中执行相同的操作,但代码不会调用RowIndexConverter.必须遗漏一些东西.
码:
// add columns
DataGridTextColumn textColumn = new DataGridTextColumn();
textColumn.Header = "Forename";
Binding bind = new Binding("Forename");
bind.Converter = new RowIndexConverter() ;
bind.ConverterParameter = "Forename";
textColumn.Binding = bind;
_dataGrid.Columns.Add(textColumn);
Run Code Online (Sandbox Code Playgroud)
其余代码(此处为上下文):
// generate some dummy data
Random rand = new Random();
for (int i = 0; i < 200; i++)
{
Row row = new Row();
row["Forename"] = s_names[rand.Next(s_names.Length)];
row["Surname"] = s_surnames[rand.Next(s_surnames.Length)]; …
Run Code Online (Sandbox Code Playgroud) 我正在尝试连接一个新事件,但出于某种原因,"Changed"总是评估为null
public class MyTreeViewItem : INotifyPropertyChanged
{
private MyTreeViewItem _parent;
public MyTreeViewItem(MyTreeViewItem parent)
{
_parent = parent;
}
private bool _checked;
public bool Checked
{
get
{
return _checked;
}
set
{
if (value != _checked)
{
_checked = value;
OnChanged("test");
OnPropertyChanged("Checked");
}
}
}
public event EventHandler Changed;
public ObservableCollection<MyTreeViewItem> Children { get; set; }
// Invoke the Changed event; called whenever list changes
protected virtual void OnChanged(string test)
{
if (Changed != null)
Changed(this, null);
}
Run Code Online (Sandbox Code Playgroud)
订阅代码(PropertyChanged Works,Changed没有) …
长话短说:我正在使用Linq来进行sql,但是我的缓存存在问题
我的应用程序是元数据驱动的,所以我不希望缓存(数据库中的更改应该反映在页面刷新的网站上).有没有办法关闭缓存?或者一种重置缓存的方法(例如,当我在数据库中更改数据时,我必须在物理上更改代码并在看到结果之前重新编译).
最后是ac#question(希望是我的一个基本错误).在下面的代码,如果我跑method1
,然后method2
再doc2 == doc1
(和我希望它从DB获得原始值)
这对我来说似乎很奇怪,因为RecordDictionary
类是旋转数据(所以不直接与模型相关),在我的代码中,赋值在不同的控制器中; 但不知何故linq to sql是缓存更改应用于doc1
并应用它们doc2
(如果我退出我的应用程序,然后重新编译然后doc2
等于我期望它(直到我更改doc1
)
举例说明
public RecordDictionary method1()
{
RecordDictionary doc1 = genericRepository.GetRecordById(
action.AppliesToModelEntityId, 27);
//do some stuff to doc1 here
return doc1;
}
public RecordDictionary method2()
{
RecordDictionary doc2 = genericRepository.GetRecordById(
action.AppliesToModelEntityId, 27);
return doc2;
}
public RecordDictionary GetRecordById(int ContainerModelId, int id)
{
var query = (from dv in _db.DataValues
where dv.DataInstance.IsCurrent == true &&
dv.DataInstance.DataContainer.DataContainerId == id …
Run Code Online (Sandbox Code Playgroud) 我们正在使用ankhsvn来检查我们的.net代码,但是我有两个问题需要解决我们的设置问题.
1 \我认为拥有像svn这样的工具的一个关键原因是你可以回滚到你的代码库的早期版本.如果开发人员只是检查代码,那么如何从颠覆中获得1.1版(比如当前的生产版本)?
2 \在VS中您有解决方案的概念,许多解决方案可能使用相同的项目.如何确保开发人员何时签出解决方案,他们会获得属于该解决方案的项目的相应版本?
我有一个javascript函数,我试图更新标签.如果我用文本框替换标签它工作正常,但标签没有任何反应!
标签的一个例子:
<label id="163" name="163">Some text.</label>
Run Code Online (Sandbox Code Playgroud)
javascript代码:
$("#163").val("meep");
Run Code Online (Sandbox Code Playgroud) 我有一个相当通用的类(Record),我已经添加了一个回调处理程序,所以我可以做类似下面的事情.
record.Save(AfterSaveMethod);
Run Code Online (Sandbox Code Playgroud)
其中还返回创建的记录的标识号.我现在的问题是我在循环中有这个嵌套的保存例程,我需要使用/传递i
变量!
for (int i; i < count ;i++)
{
record.Save(AfterSaveMethod2) //but I need to pass i through as well
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
\ _重写save方法并将其包含在此类(yuk)中,
B \有一个重载的保存选项,它将一个对象作为参数,因此我可以将它传递给我的记录类,然后将其与标识号合并.返回身份编号和传递对象中包含的任何额外内容(嗯,听起来有点乱),
C \有更性感的选择吗?
我想在javascript中将数据添加到列表框中,但是字符串构建语法让我感到难过:
var yourobject = '<%=Model.Inserts['+ i + ']%>';
导致错误:"字符文字中的字符过多"
所有代码:
var mlb = cm.createListBox('mylistbox', {
title: 'My list box',
onselect: function(v) {
tinyMCE.activeEditor.windowManager.alert('Value selected:' + v);
}
});
for (var i = 0; i < '<%=Model.Inserts.Count() %>'; i++) {
var yourobject = '<%=Model.Inserts['+ i + ']%>';
mlb.add(yourobject, i);
}
Run Code Online (Sandbox Code Playgroud) 问题:我将要在Silverlight中打开的页面名称存储在数据库中.当我启动应用程序时,我想将页面设置为此字符串
所以不是这样的:
this.RootVisual = new MainPage();
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西
string pageName = getValueFromDatabase()
if (!PageExists(pageName))
throw error
else
this.RootVisual = SomeWizzyMethodToCreatePage(pageName)
Run Code Online (Sandbox Code Playgroud)
我想我需要在这里使用反射来查找所有页面(PageExists),然后以某种方式创建一个新实例(SomeWizzyMethodToCreatePage).
我编写了一个更新触发器,它执行可能会调用自身的更新(这是我想要的行为)。
不幸的是,触发器不会调用自身,我不明白为什么。该触发器只是更改任何子记录的值(基于父键),然后我期望在更新该子记录时应再次触发该触发器,并更新该子记录的任何子记录,等等。
我可以手动运行触发器成功完成的相同更新,并且子记录按照我的预期进行设置。
我已经运行 EXEC sp_configure '嵌套触发器' 并且已返回
最小值:0,最大值:1,config_value:1,run_value:1,因此递归似乎已打开。
ALTER TRIGGER [dbo].[DataInstance_Trigger]
ON [dbo].[DataInstance]
AFTER UPDATE
AS
BEGIN
UPDATE DataInstance
SET
DataInstance.IsCurrent = i.IsCurrent
FROM DataInstance di
Inner join DataContainer dc on
di.DataContainerId = dc.DataContainerId
Inner join Inserted i on
dc.ParentDataContainerId = i.DataContainerId
WHERE di.IsCurrent != i.IsCurrent
END
Run Code Online (Sandbox Code Playgroud) silverlight ×5
c# ×4
javascript ×2
wpf ×2
.net ×1
ankhsvn ×1
asp.net-mvc ×1
caching ×1
callback ×1
code-behind ×1
converter ×1
jquery ×1
linq-to-sql ×1
sql-server ×1
svn ×1