我正在尝试制作一些div来制作动画,然后在回调中调用另一个函数.没什么难的.这是代码:
function transfertMenu(){
var chosenOption = this.firstChild.firstChild.id;
$('#leftMenucontent').animate({
left:'0px'
}, 500, constructMenu());
$('#leftMenucontent > ul > li').remove();
chooseMenu(chosenOption);
}
Run Code Online (Sandbox Code Playgroud)
并尝试过
function transfertMenu(){
var chosenOption = this.firstChild.firstChild.id;
$('#leftMenucontent').animate({
left:'0px'
}, 500, function() {
constructMenu();
});
$('#leftMenucontent > ul > li').remove();
chooseMenu(chosenOption);
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我在回调(constructMenu)中放置一个alert()时,它完美地运行,动画结束,然后弹出警报.当我输入一个函数时,它会在动画完成之前从头开始.这是一个错误,还是我做错了什么?
我正在使用Silverlight 4,.NET 4.0.
我有一个在共享库中定义的对象(在我的Silverlight项目和托管WCF服务的Web项目之间共享)
该对象是一个树结构,其中包含其子项列表,以及对其父项和根的引用.
即.
class TreeNode
{
public List<TreeNode> Children {get; set;}
public TreeNode Root { get; set; }
public TreeNode Parent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题是当Silverlight尝试获取此对象并将其发送到服务器时,我得到一个关于循环引用的例外.经过一些研究,我发现我必须将属性IsReference启用为true,如下所示:
[DataContract(IsReference = true)]
class TreeNode
{
public List<TreeNode> Children {get; set;}
public TreeNode Root { get; set; }
public TreeNode Parent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题是当我这样做时,我的WCF服务不再起作用,因为它无法为此加载所需的程序集:
"无法加载文件或程序集'System.Runtime.Serialization,Version = 2.0.5.0"
这是因为包含TreeNode类的项目是针对Silverlight运行时而不是.NET运行时构建的,并且使用System.Runtime.Serialization v2.0.5.0,而Web项目和WCF服务使用v4.0.30319.
所以,我的问题是:有没有一种方法可以让这个对象序列化,同时保留引用而不会将整个对象结构移动到针对标准.NET 4.0运行时构建的不同项目?
此外,值得注意的是我尝试使用条件编译,例如:
#if SILVERLIGHT
[DataContract(IsReference = true)]
#endif
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为需要知道它的WCF服务必须保留引用...
非常感谢任何帮助.
我使用BinaryFormatter和a MemoryStream来序列化一个对象,然后将它作为二进制blob存储在数据库中.然后,我从数据库中检索数据,并使用binaryformatter和内存流进行反序列化.
但是,当我尝试反序列化对象时,我经常会抛出异常.最值得注意的'an object with the same key already exists'还是'cannot convert string to int64'
有没有人知道为什么反序列化掷骰子?或者如何找出哪些字典对象有麻烦?
我的序列化功能如下......
private byte[] SerializeUserData(UserData ud)
{
byte[] data = null;
using (MemoryStream ms = new MemoryStream())
{
ms.Seek(0, SeekOrigin.Begin);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms, ud);
data = ms.ToArray();
}
return data;
}
private UserData Deserialize()
{
UserData ud = null;
using (MemoryStream ms = new MemoryStream(mSession.BinarySession))
{
BinaryFormatter bf = new BinaryFormatter();
ud = bf.Deserialize(ms) as UserData;
} …Run Code Online (Sandbox Code Playgroud) 任何人都知道为什么Magento不允许在app/design文件夹之外的模板.phtml文件的符号链接?
如果我在该文件夹中执行符号链接,它可以正常工作,但如果它在外部链接,则不起作用.所以它似乎是一些权限/安全性的东西,但我无法在任何地方找到任何信息.
任何人?
解决方法:感谢艾伦的建议,我发现了一个解决方法 - 因为我只是自己用于本地开发我很开心.如果这有助于其他任何人,我会在这里添加它.所以我在core/Mage/Core/Block/Template.php中插入以下内容,直接在Varien_Profiler :: start($ fileName)行之后;
$storeId = Mage::app()->getStore()->getId();
$theme = Mage::getStoreConfig('design/package/name', $storeId);
Mage::Log($this->_viewDir.DS.$fileName);
$includes = $this->_viewDir.DS.$fileName;
if(strpos($includes, 'frontend/'.$theme )) {
include $this->_viewDir.DS.$fileName;
};
Run Code Online (Sandbox Code Playgroud)
使用IF语句可以阻止任何基本模板加倍,并且只允许自定义主题模板通过.
我正在考虑这种奇怪的行为.当应用等待某些信息时,我正在使用带有文本的面板向用户显示.此面板以模态显示以防止用户单击某些内容.
隐藏加载面板时,工具栏上的所有项都将被禁用,并且validateToolbarItem不会调用该方法.
我正以这种方式展示小组:
- (void)showInWindow:(NSWindow *)mainWindow {
sheetWindow = [self window];
[self sheetWillShow];
[NSApp beginSheet:sheetWindow modalForWindow:mainWindow modalDelegate:nil didEndSelector:nil contextInfo:nil];
[NSApp runModalForWindow:sheetWindow];
[NSApp endSheet:sheetWindow];
[sheetWindow orderOut:self];
}
- (void)dismissModal {
[sheetWindow close];
[NSApp stopModal];
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如何强制工具栏进行验证?
评论后编辑:
我已经尝试过了:
[[[NSApp mainWindow] toolbar] validateVisibleItems][[NSApp mainWindow] update];[NSApp updateWindows];[NSApp setWindowsNeedUpdate:YES];所有电话结束后dismissModal.我在想其他问题......
可能重复:
Python"is"运算符使用整数意外运行
昨晚做了什么奇怪的事情
if max_urls is 0:
max_urls = 10
Run Code Online (Sandbox Code Playgroud)
总是会返回false ...即使max_urls为0 ....它也是从数据库中分配的.当我做了一个
print type(max_urls)
Run Code Online (Sandbox Code Playgroud)
会回来的
<type 'long'> 0
Run Code Online (Sandbox Code Playgroud)
这似乎是正确的,但它总是会返回虚假.
如果我把它改成了
if max_urls == 0:
max_urls = 10
Run Code Online (Sandbox Code Playgroud)
那么当它为0时它最终会返回true.为什么==和之间的区别是?
我刚刚开始使用REST,我一直在阅读这篇文章和上面提到的关于REST 响应代码的书.但是,当我查看Play的Controller类时,它似乎仅限于返回
这似乎遗漏了一些可能有用的代码:
毕竟不需要那些吗?Play会自动处理这些情况吗?
此外,似乎一个控制器无法很好地处理相同资源的REST请求和正常网页请求,因为始终返回网页200.我错过了什么吗?
我想将JQGrid"正在加载..."消息更改为带有动画gif图像的内容.到处看都看不到办法.有人请.
简单的问题.
如何将UnitOfWork与Castle.Windsor,nHibernate和ASP.NET MVC一起使用?
现在为扩展细节.在我理解UnitOfWork模式的过程中,我很难遇到任何使用直接示例的东西Castle.Windsor,特别是在需要安装的方式方面.
到目前为止,这是我的理解.
IUnitOfWork接口用于声明模式UnitOfWork类必须Commit和Rollback交易,以及暴露一个Session.所以说,这是我的IUnitOfWork.(我正在使用Fluent nHibernate)
public interface IUnitOfWork : IDisposable
{
ISession Session { get; private set; }
void Rollback();
void Commit();
}
Run Code Online (Sandbox Code Playgroud)
所以这是我的Castle.WindsorContainer Bootstrapper(ASP.NET MVC)
public class WindsorContainerFactory
{
private static Castle.Windsor.IWindsorContainer container;
private static readonly object SyncObject = new object();
public static Castle.Windsor.IWindsorContainer Current()
{
if (container == null)
{
lock (SyncObject)
{ …Run Code Online (Sandbox Code Playgroud) 我想循环我的查询并将每个数据字段分配给一个数组.
$query ="SELECT * FROM Reservations WHERE Room_ID = '145' ";
$result = odbc_exec($connect,$query);
while(odbc_fetch_row($result)){
$reservation = odbc_result($result, 1);
$reservation2 = odbc_result($result, 2);
$reservation3 = odbc_result($result, 3);
$reservation4 = odbc_result($result, 4);
}
Run Code Online (Sandbox Code Playgroud)
我想做的是
$content = array();
while($info = mysql_fetch_array($result))
{
$content[] = $info;
}
Run Code Online (Sandbox Code Playgroud)
我想我可以检查以查看总行数,然后只需执行一个for循环来增加$ result.
asp.net-mvc ×1
c# ×1
cocoa ×1
datacontract ×1
httpresponse ×1
javascript ×1
jqgrid ×1
jquery ×1
macos ×1
magento ×1
memorystream ×1
modal-dialog ×1
mysql ×1
odbc ×1
php ×1
python ×1
rest ×1
silverlight ×1
symlink ×1
toolbar ×1
unit-of-work ×1
variables ×1
wcf ×1