我在我的代码中使用它:
call_user_func_array ( array ($controller, $method ), $this->params );
Run Code Online (Sandbox Code Playgroud)
但我发现下面的代码做了同样的事情:
$controller->$method($this->params);
Run Code Online (Sandbox Code Playgroud)
这两个版本有什么区别吗?
谢谢
亚当拉马丹
我目前正在尝试绑定到wpf中集合中的某些项目.最好用一个例子来解释.
我的XAML如下:
<Canvas Name="TaskCanvas" Width="467.667" Height="414">
<Ellipse Name="myElipse" Fill="White" Stroke="Black" Width="126" Height="76"
Canvas.Left="{Binding Path=XPos}" Canvas.Top="{Binding Path=YPos}" />
</Canvas>
Run Code Online (Sandbox Code Playgroud)
现在你可以看到我只是绑定到属性作为椭圆的一个简单示例,将它定位在我的数据源的x和y轴上.
我在window_load事件中有c#代码将我的数据源绑定到我的椭圆,如下所示:
PosClass posclass = new PosClass();
List<PosClass> posClasses = new List<PosClass>();
posclass.YPos = 100;
posclass.XPos= 100;
posClasses.Add(posclass);
posclass.YPos = 0;
posclass.XPos = 0;
posClasses.Add(posclass);
TaskCanvas.DataContext = posClasses;
Run Code Online (Sandbox Code Playgroud)
现在我从我的收藏中对canvas cotainer进行了绑定.PosClass是一个简单的类,有两个属性是'XPos'和'YPos'.
当我运行的代码设置我的椭圆正确绑定到这是伟大的,但作为椭圆没有设置采取从集合默认情况下它的确切行占用的最后一排,所以我的椭圆设置为0,0位置的数据源.
我想要做的是设置椭圆以使用XAML中附加的集合中的第一个项目,或者如果我有更多的项目,请说出第10个项目.我想再次在XAML中这样做,所以目前我只是绑定到X和Y位置,是否有某种语法让我也可以指定要使用的集合中的哪一行?
为了我的目的,我这样做了:
<?php
$mystring = 'Gazole,';
$findme = 'Sans Plomb 95';
$pos = strpos($mystring, $findme);
if ($pos >= 0) {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
} else {
echo "The string '$findme' was not found in the string '$mystring'";
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,它总是执行此分支:
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
Run Code Online (Sandbox Code Playgroud)
虽然我正在搜索的字符串不存在.
请提前帮助:)
我对Prism相当新,我目前正在使用Prism作为概念证明项目重写我们现有的一个应用程序.
该应用程序使用MVVM和ViewModel第一种方法:我们的ViewModel由容器解析,IViewResolver服务计算出它应该连接到哪个视图(使用名称约定等).
此时代码(向选项卡控件添加视图)看起来像这样:
var vm = (get ViewModel from somewhere)
IRegion reg = _regionManager.Regions["MainRegion"];
var vw = _viewResolver.FromViewModel(vm); // Spins up a view and sets its DataContext
reg.Add(vw);
reg.Activate(vw);
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但我真的很喜欢使用Prism导航框架为我做所有这些事情,这样我就可以这样做:
_regionManager.RequestNavigate(
"MainRegion",
new Uri("NameOfMyViewModel", UriKind.Relative)
);
Run Code Online (Sandbox Code Playgroud)
并让Prism旋转ViewModel + View,设置DataContext并将视图插入该区域.
通过创建引用ViewModel类型的DataTemplates,我获得了一些成功,例如:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Module01">
<DataTemplate DataType="{x:Type local:TestViewModel}">
<local:TestView />
</DataTemplate>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
...并且在模块初始化时让模块将相关的资源字典添加到应用程序资源中,但这看起来有点垃圾.
有没有办法从Prism有效地接管视图创建,以便在RequestNavigate调用时我可以查看提供的内容Uri并根据它调整视图/视图模型?有一个重载RegionManager.RegisterViewWithRegion,需要一个代表,允许你自己提供一个视图,我想我是在经历这样的事情.
我想我可能需要提供自己的IRegionBehaviorFactory,但我不确定所涉及的是什么(或者即使我走在正确的道路上!).
任何帮助赞赏!
- 注意:最初发布在prism codeplex网站上
是否可以通过Modernizr检测浏览器是否具有Html5 Audio支持?如果是这样,这是怎么做到的?如果不是,有什么工作吗?谷歌解释这一点的资源很少,所以任何帮助都会受到赞赏.
在Web应用程序中,我维护有很多AJAX调用来提交如下所示的表单:
jQuery.post($form.attr("action"), $form.serialize())
.always(commonProcessing)
.done(function() {
// the post succeeded, do something specific (e.g. close a dialog)
});
Run Code Online (Sandbox Code Playgroud)
该commonProcessing函数在JSON响应中查找"众所周知"的部分并采取适当的操作(响应可能还包括特定于请求的信息).它读起来像这样:
function commonProcessing(result, outcome) {
switch (outcome) {
case "success":
if (result.notify) {
// show a growl-style notification
}
else if (...) ;
break;
case "error":
// show a generic "unexpected error" notification
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在许多情况下,我更愿意返回一个HTTP错误代码 - 对于提交的包含无效数据的表单来说就是400 - 因为除了这是事物的自然顺序之外,它还允许我方便地提出"成功请求" " .done处理程序中的代码(如果返回200 OK,则内容将始终被解析,但.done处理程序需要尝试找出这是"错误"还是"非常好"的响应).同时,我希望在发生错误时使用特定信息响应请求(例如,notify对象可以包含错误消息,该消息可以准确解释请求的错误).
问题是当返回HTTP错误代码时,jQuery不会尝试解析响应内容,在这种情况下,result参数是jqXHR对象而不是典型的解析JSON.
是否有一种优雅的方式说"我知道有错误,但我也想让你解析回复内容"?我当然可以这样做,$.parseJSON(result.responseText)因为我们正在谈论JSON,但这感觉很笨拙,因为它避开了所有讨厌内容类型并进行解析的好jQuery代码.
以下代码在编译时抛出"不明确的调用匹配":
class ABC{}
class DEF{}
class Program
{
static void Main(string[] args)
{
Debug.WriteLine(func(null));
}
static string func(ABC abc)
{
return "";
}
static string func(DEF def)
{
return "";
}
}
Run Code Online (Sandbox Code Playgroud)
但是下面的代码编译并运行正常:
static void Main(string[] args)
{
Debug.WriteLine(func(null));
}
static string func(int? abc)
{
return "function a";
}
static string func(float? def)
{
return "function b";
}
Run Code Online (Sandbox Code Playgroud)
输出
function a
Run Code Online (Sandbox Code Playgroud)
C#如何知道在第二个例子中选择哪个函数?
我想创建一个能够使用az,0-9生成字母和可选数字列表的函数.
$output = array();
foreach(range('a','z') as $i) {
foreach(range('a','z') as $j) {
foreach(range('a','z') as $k) {
$output[] =$i.$j.$k;
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
例:
myfunction($include, $length)
Run Code Online (Sandbox Code Playgroud)
用法是这样的:
myfunction('a..z,0..9', 3);
Run Code Online (Sandbox Code Playgroud)
输出:
000
001
...
aaa
aab
...
zzz
Run Code Online (Sandbox Code Playgroud)
输出将包含字母和数字的所有可能组合.
我是在 Windows 上使用批处理的新手,对 errorlevel 的使用有疑问。
我在谷歌上引用了TechNet(Exit)和许多示例。
他们中的大多数人像这样使用 /b 和 %errorlevel%
if errorlevel 1 exit /b %errorlevel%
Run Code Online (Sandbox Code Playgroud)
我想知道两者之间的区别
if errorlevel 1 exit /b
Run Code Online (Sandbox Code Playgroud)
和
if errorlevel 1 exit /b %errorlevel%
Run Code Online (Sandbox Code Playgroud)
我认为没有区别,因为 %errorlevel% 没有改变。我错了吗?
我在Yii有一个项目,CGridView默认情况下每页显示10条记录.如何将此设置为100条记录?
php ×4
wpf ×2
batch-file ×1
binding ×1
c# ×1
errorlevel ×1
html5 ×1
javascript ×1
jquery ×1
modernizr ×1
mvvm ×1
null ×1
nullable ×1
pagination ×1
prism ×1
prism-4 ×1
range ×1
string ×1
windows ×1
yii ×1