我想在Actionscript中这样做:
typeof(control1) != typeof(control2)
Run Code Online (Sandbox Code Playgroud)
测试两个对象是否属于同一类型.这在C#中可以正常工作,但在Actionscript中它没有.事实上,它返回'object'两个typeof()表达式,因为这就是Actionscript的工作方式.
我似乎无法通过查看调试器或typeof()在Actionscript 中描述的页面找到替代方案.
有没有办法获得实际的运行时类型?
当你删除()一个元素并在其他地方附加()时,jQuery会发生什么?
看起来这些事件都是脱钩的 - 好像你只是插入了新的html(我猜这是发生了什么).但它也可能我的代码中有一个错误 - 所以我只想在继续之前验证这种行为.
如果是这种情况 - 是否有任何简单的方法可以将事件重新组合到HTML的那一部分,或者以不同的方式移动元素而不会丢失事件.
在CSS Sprites中,您经常会在每个图像之间找到填充.我相信这个想法是这样的,如果页面调整大小,那么一个图像不会流入另一个图像.
我认为这取决于不同类型的浏览器缩放(最好由Jeff解释).
但是,我在测试中未能看到这种行为.这只是旧版浏览器的问题吗?(我目前无法使用IE6进行测试,因此我将其视为"旧").
我还要担心留空吗?这是一种痛苦.
例如 :
我找到的AOL的CSS Sprite在每个图像之间都有填充:VIEW
但The Daily Show决定不打扰:VIEW
编辑:添加了赏金,因为我正在寻找除此之外的MVC3解决方案(如果存在):
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
我的"地址"模型上有一个只读属性'CityStateZip'.
这是从美国地址获取城市,州,邮政的便捷方式.如果该国家不是美国(调用者应首先检查),则会抛出异常.
public string CityStateZip
{
get
{
if (IsUSA == false)
{
throw new ApplicationException("CityStateZip not valid for international addresses!");
}
return (City + ", " + StateCd + " " + ZipOrPostal).Trim().Trim(new char[] {','});
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的模型的一部分,所以它受到约束.在ASP.NET MVC2 RC2之前,此字段在数据绑定期间从未引起过问题.我从来没有真正想过它 - 毕竟它只是只读.
现在虽然在2010年1月的RC2版本中,它在数据绑定期间给出了一个错误 - 因为默认模型绑定器似乎想要检查此值(即使它是只读的).
它是'base.OnModelUpdated'行导致触发此错误.
public class AddressModelBinder : DefaultModelBinder
{
protected override void OnModelUpdated(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
base.OnModelUpdated(controllerContext, bindingContext);
Run Code Online (Sandbox Code Playgroud)
最后几分钟对模型绑定器的更改显然导致了行为的这种变化 - 但我还不确定它的重现是什么 - 或者这是否是一个错误?我正在将此传递给MVC团队,但好奇是否有人在此期间有任何建议我如何阻止此属性绑定.
这篇文章非常值得一读 - 但是根本没有提到readonly属性(不是我期望的).问题(如果有的话)可能比这种情况更广泛 - 我只是不确定是否有任何反复 - …
我在ASP.NET应用程序中使用.NET中的GDI +进行了大量的图像处理.
我经常发现Image.FromFile()保持文件句柄打开.
为什么是这样?在没有保留文件句柄的情况下打开图像的最佳方法是什么.
我需要在ASP.NET MVC应用程序中创建一个具有.csv文件类型的ActionResult.
我将向我的营销合作伙伴提供"不要打电话"的电子邮件列表,我希望它在文件类型中具有.csv扩展名.然后它将自动在Excel中打开.
http://www.example.com/mailinglist/donotemaillist.csv?password=12334
Run Code Online (Sandbox Code Playgroud)
我已成功完成以下操作,但我想确保这是绝对最佳和推荐的方法.
[ActionName("DoNotEmailList.csv")]
public ContentResult DoNotEmailList(string username, string password)
{
return new ContentResult()
{
Content = Emails.Aggregate((a,b)=>a+Environment.NewLine + b),
ContentType = "text/csv"
};
}
Run Code Online (Sandbox Code Playgroud)
这个Actionmethod会响应上面的链接就好了.
我只是想知道是否有任何意外冲突的任何不同版本的IIS,任何类型的ISAPI过滤器,或任何我现在无法想到的文件扩展名.
我需要100%肯定,因为我会向外部合作伙伴提供这个,并且不想在以后改变主意.我真的看不出任何问题,但也许有些东西模糊不清 - 或者更像"MVC"这样做的方式.
在jQuery中是否有任何内置支持用于基本断言检查,主要是"预期的返回元素数量"之类的东西.
例如,我可能有这样一个简单的陈述:
$("#btnSignup").click(function() {
return validateForm();
);
Run Code Online (Sandbox Code Playgroud)
现在有很多理由$("#btnSignup")可能无法正确返回1项:
HtmlHelper.Button(...)代替HtmlHelper.Submit().该Button(...)方法不会为按钮元素创建ID.现在在这个实例(和许多实例)中,除非从选择器返回一个项目,否则我的应用程序将无法工作.所以我总是想被告知是否$("@#btnSignup")不返回1项.那我怎么能这样做?!我很好,如果这是一个例外或最好是一个警告框 - 所以如果我没有在调试器中运行,那么我可以被告知.
我正在寻找这样的语法 - 它的功能类似于.NET的Single()扩展方法.
$("#btnSignup").assertSingle().click(function() {
return validateForm();
);
or
$("#btnSignup").assertSize(1).click(function() {
return validateForm();
);
Run Code Online (Sandbox Code Playgroud)
我个人对此代码总是运行良好并且告诉那里存在问题的人.对于所有永恒运行这个额外代码显然不是性能问题.在这种情况下,如果#btnSignup不存在,我的代码就会被破坏.
我确信这个问题已经被打死了,并且有很多解决方案 - 但是有人能指出我的一些吗?
我没有看到任何内置于jQuery中的内容,并想知道最好的插件是什么.我更愿意只是在页面上有一些东西能够"监视"我,并告诉我是否有问题.我甚至不反对对错误报告服务进行AJAX调用.
现在RC1已经出来了,我需要一劳永逸地决定是使用MS Ajax库还是只使用jQuery来进行AJAX请求.该应用程序是一个新的应用程序 基本上我决定的方式是我是否从微软库中获得了任何我从jQuery无法获得的重大好处.我已经有了jQuery加载,我担心文件大小的额外开销比什么都重要.
据我所知 - 唯一的好处是有帮助器Ajax.BeginForm,但也许这些可能会在某些时候使用jQuery吗?我的一位政府员工朋友今天也告诉我,MS Ajax库中有很多错误 - 这让我很担心.
随着微软现在正式成为jQuery的朋友,我不会太担心他们将来做任何事情,通过增强自己的库来让jQuery陷入困境.
我真的不知道MS Ajax究竟为我做了什么.是否存在某些利弊.或者支持'更新面板'只有90%的膨胀?
我也觉得非常有趣的是,ASP.NET MVC in Action一书只是跳过MS Ajax库并直接跳转到jQuery:
在本章中,读者将研究如何以比Web窗体更无缝的方式将ajax技术应用于ASP.NET MVC.读者将看到如何利用一个越来越流行的轻量级javascript库jQuery.
(来自AJAX的免费样本章节)
非常感谢任何人听到他们在两者中工作的经历,尤其是以下其他问题:
Ajax.BeginForm(...)和使用jQuery?此处描述的行为现在似乎是ASP.NET MVC 2的默认行为(至少对于预览1).
当像这样对一个查询字符串进行模型绑定时:
?Foo=&Bar=cat
Run Code Online (Sandbox Code Playgroud)
发生以下绑定(假设您绑定到具有'Foo'和'Bar'字符串属性的模型)
ASP.NET MVC 1
model.Foo = "";
model.Bar = "cat":
Run Code Online (Sandbox Code Playgroud)
ASP.NET MVC 2(预览1到RC)
model.Foo = null;
model.Bar = "cat":
Run Code Online (Sandbox Code Playgroud)
想要给任何正在玩V2的人提供一个单挑,因为这在' gu-notes '中没有提到.同样好奇的是,知道的任何人都可以评论这是否是最终实施或可配置功能?无论哪种方式我都很好但只是希望他们不要回到过去的方式!可配置会更好.
编辑:从这一点学习的教训是你正在开发的任何版本,不要编写代表Foo.Length == 0来测试空字符串或Foo.Length> 3以检查最小长度.使用string.IsNullOrEmpty(Foo)和/或首先检查null.
更新:这个问题激起了我对他们为什么会真正做出这种改变的好奇心.我认为在研究残疾人控制时我偶然发现了答案.W3 HTML规范定义了" 成功控制 ",如下所示:
成功的控制对于提交是"有效的".每个成功的控件都将其控件名称与其当前值配对,作为提交的表单数据集的一部分.必须在FORM元素中定义成功的控件,并且必须具有控件名称.
换句话说 - 成功的控件是将其作为查询字符串参数返回服务器的控件.现在,如果控件没有有效值,那么根据规范:
如果控件 在提交表单时没有当前值,则用户代理不需要将其视为成功控件.
(在这里找到'开放式解释'语言'不要求......')
所以我认为通过发送null而不是空字符串,它可以减少某些浏览器可能发送的浏览器不兼容性,Foo=&Bar=而其他浏览器可能甚至不会发送该查询字符串参数.通过总是解释Foo=好像Foo不存在,所以你要更加防守.
我认为我至少在正确的轨道上找到了原因 - 至少在某种程度上与'成功控制'的概念有关.
我正在尝试使用缓存配置文件缓存我的mvc应用程序中的子操作,但我得到一个例外:持续时间必须是正数.
我的web.config看起来像这样:
<caching>
<outputCache enableOutputCache="true" />
<outputCacheSettings>
<outputCacheProfiles>
<add name="TopCategories" duration="3600" enabled="true" varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
Run Code Online (Sandbox Code Playgroud)
而我的孩子的动作是这样的:
[ChildActionOnly]
[OutputCache(CacheProfile = "TopCategories")]
//[OutputCache(Duration = 60)]
public PartialViewResult TopCategories()
{
//...
return PartialView();
}
Run Code Online (Sandbox Code Playgroud)
我只是打电话给一个视图 @Html.RenderAction("TopCategories", "Category")
但是我收到一个错误:Exception Details:System.InvalidOperationException:Duration必须是一个正数.
如果我不使用缓存配置文件,它的工作原理.知道问题是什么?
asp.net-mvc ×5
jquery ×2
modelbinders ×2
actionresult ×1
actionscript ×1
ajax ×1
asp.net-ajax ×1
caching ×1
css-sprites ×1
debugging ×1
dom ×1
filehandle ×1
gdi+ ×1
javascript ×1
preview ×1
typeof ×1