我有一个使用jQuery加载到Yahoo弹出窗口的Ajax控件.
我只是使用一个简单的.get请求来加载HTML.
$.get(contentUrl, null, function(response) {
$('#dialog').find('.bd').assertOne().html(response);
}, "waitDlg");
Run Code Online (Sandbox Code Playgroud)
现在问题是加载的内容需要自己的CSS,实际上是动态创建的.我可以选择内联或使用外部CSS样式表.
在Chrome中进行测试表明,使用上述代码在添加到DOM时,不会评估/应用通过AJAX加载的CSS.
Internet Explorer会评估内联css,因为它只会陷入DOM,但Chrome不会.由于完全不相关的问题,我目前无法在FireFox中进行测试.
有没有办法在jQuery中评估一个动态添加到DOM的样式表作为内联或?
我有很多理由要这样做:
我有一个看起来像这样的简单形式
<form (ngSubmit)="save()" #documentEditForm="ngForm">
...
</form>
Run Code Online (Sandbox Code Playgroud)
并且需要提交表格并从外部检查其有效性
例如.以编程方式提交,或者<button type="submit">
在<form>
标记之外提交.
重要提示:这不是LINQ-to-SQL问题.这是对象的LINQ.
简短的问题:
LINQ中是否有一种简单的方法可以根据对象的键属性从列表中获取不同的对象列表.
长问题:
我正在尝试对具有键作为其属性之一的对象Distinct()
列表执行操作.
class GalleryImage {
public int Key { get;set; }
public string Caption { get;set; }
public string Filename { get; set; }
public string[] Tags {g et; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个Gallery
包含的对象列表GalleryImage[]
.
由于web服务的工作方式[原文如此],我有GalleryImage
对象的重复
.我认为用它Distinct()
来获得一个独特的列表是一件简单的事情.
这是我想要使用的LINQ查询:
var allImages = Galleries.SelectMany(x => x.Images);
var distinctImages = allImages.Distinct<GalleryImage>(new
EqualityComparer<GalleryImage>((a, b) => a.id == b.id));
Run Code Online (Sandbox Code Playgroud)
问题是这EqualityComparer
是一个抽象类.
我不想:
GalleryImage
因为它是生成的IEqualityComparer
,如下所示是否有一个 …
我有一个jQuery选择器,它具有链式功能.
在函数内部,我想访问表示选择器表达式的TEXT.
$("cat dog").function() {
// how do I get access to the "cat dog" string from inside THIS function ?
};
Run Code Online (Sandbox Code Playgroud)
我在这个代码示例中简化了我实际想要做的事情.我正在编写一个插件,我需要访问已创建包装集的选择器.显然,在这个特殊的例子中,我可以访问"猫狗",因为我写了它.所以只是想象一下插件.
这对谷歌来说有点棘手.
编辑:遗憾的是,'selector'属性现已弃用.http://jquery.com/upgrade-guide/1.9/#selector-property-on-jquery-objects
假设您有一种在购物车中显示产品的操作方法
// ProductsController.cs
public ActionMethod Index(string gender) {
// get all products for the gender
}
Run Code Online (Sandbox Code Playgroud)
在其他地方,在您Url.RouteUrl
用于创建到网站上其他页面的HREF链接的每个页面上显示的标头中:
<a href="<%= Url.RouteUrl("testimonials-route", new { }) %>" All Testimonials </a>
Run Code Online (Sandbox Code Playgroud)
这由下面的第一条路线testimonials-route
定义global.ascx
.请注意,上面的调用RouteUrl
不提供a gender
,但是路由定义为默认的"中性",所以我们期望调用Testimonials.Index("中性").
routes.MapRoute(
"testimonials-route",
"testimonials/{gender}",
new { controller = "Testimonials", action = "Index", gender = "neutral" },
new { gender = "(men|women|neutral)" }
);
routes.MapRoute(
"products-route",
"products/{gender}",
new { controller = "Products", action = "Index", gender = (string)null },
new { gender = "(men|women|neutral)" …
Run Code Online (Sandbox Code Playgroud) 我总是假设如果我Select(x=> ...)
在LINQ对象的上下文中使用,那么新的集合将立即创建并保持静态.我不太清楚为什么我这么想,这是一个非常糟糕的假设,但我做到了.我经常.ToList()
在其他地方使用,但在这种情况下通常不会.
此代码演示即使是简单的"选择"也会延迟执行:
var random = new Random();
var animals = new[] { "cat", "dog", "mouse" };
var randomNumberOfAnimals = animals.Select(x => Math.Floor(random.NextDouble() * 100) + " " + x + "s");
foreach (var i in randomNumberOfAnimals)
{
testContextInstance.WriteLine("There are " + i);
}
foreach (var i in randomNumberOfAnimals)
{
testContextInstance.WriteLine("And now, there are " + i);
}
Run Code Online (Sandbox Code Playgroud)
这将输出以下内容(每次迭代集合时都会调用随机函数):
There are 75 cats
There are 28 dogs
There are 62 mouses
And now, there are 78 …
Run Code Online (Sandbox Code Playgroud) ASP.NET MVC控制器操作方法主要用于处理"业务"操作,但它可以用于更多.
我认为看到人们创造的创造性,有用的东西对他人来说可能是实用的或有用的,这会很有趣.
这是我的贡献:
Javascript文件连接器 - 减少http请求的数量:
[OutputCache(Duration = 5 * 60, VaryByParam="")] // DONT USE "None" here *
public ContentResult RenderJavascript(){
StringBuilder js = new StringBuilder();
StringWriter sw = new StringWriter(js);
// load all my javascript files
js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/jquery.hoverIntent.minified.js")));
js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/jquery.corner.js")));
js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/rollingrazor.js")));
return new ContentResult()
{
Content = js.ToString(),
ContentType = "application/x-javascript"
};
}
Run Code Online (Sandbox Code Playgroud)
映射到它的路线:
// javascript
routes.MapRoute(
"js-route",
"dynamic/js",
new { controller = "Application", action = "RenderJavascript" }
);
Run Code Online (Sandbox Code Playgroud)
请从您的母版页中查看:
<script type="text/javascript" src="/dynamic/js"></script>
Run Code Online (Sandbox Code Playgroud)
请注意,我已为输出设置了缓存,因此如果您要更改JS并刷新页面,则可能需要禁用缓存!
我需要回来找出如何gzip它.
*
您不应该使用VaryByParam ="None",因为这会导致发送Vary标头,这会导致浏览器返回并检查新版本.如果你真的需要更改你的js内容,那么你的用户只需要等待5分钟!
我知道如何获得图像的大小(x,y)
Image.FromFile("cat.jpg").Size
Run Code Online (Sandbox Code Playgroud)
但这需要从内存加载图像.
当我在Windows资源管理器中查看图像时,它显示了我的大小.
编辑:我将主题从"尺寸"更改为"尺寸",以阐明我想要的尺寸.
标题几乎说明了一切.我有一个视频,当到达页面时自动开始播放.
在HTML代码中我把muted ="muted".这是奇怪的部分.当看着控制器时,它显然是静音的,但音乐仍在播放,可以听到.即使我在W3Schools上查看HTML5视频示例,它也会在静音时播放音乐.
有没有办法,例如通过jQuery绕过这个?我有一个jQuery线,坚持视频静音,但没有效果.
这是HTML代码使用:
<video id="video" width="640px" height="350px" autoplay="autoplay" loop="loop" controls="controls" muted="muted">
<source src="intouchables.f4v" type="video/mp4">
Your browser does not support the video tag.
</video>
Run Code Online (Sandbox Code Playgroud)
希望你能帮助我.jQuery行如下:
$("video").prop('muted',true);
提前致谢.
JsonResult类是一种非常有用的方法,可以通过AJAX将Json作为动作返回给客户端.
public JsonResult JoinMailingList(string txtEmail)
{
// ...
return new JsonResult()
{
Data = new { foo = "123", success = true }
};
}
Run Code Online (Sandbox Code Playgroud)
然而(至少根据我的第一印象)这真的不是一个很好的分离关注点.
我想知道为什么对象和Json之间的转换没有通过属性以声明方式实现.在下面的代码中,您基本上告诉MVC this method is convertible to Json
,然后如果从AJAX客户端调用它,则检查new JsonResult()
内部执行转换的属性.
单元测试可以只采取动作结果(ObjectActionResult
)并拉出强类型Foo
.
[JsonConvertible]
public ActionResult JoinMailingList(string txtEmail)
{
// ...
return new ObjectActionResult()
{
Data = new Foo(123, true)
};
}
Run Code Online (Sandbox Code Playgroud)
我只是好奇人们的想法和任何可供选择的模式.
这些也只是我最初的观察 - 可能还有更多理由说明为什么这不是一个理想的设计(可能还有很多理由为什么它是一个完全可以接受和实用的设计!)我今晚只是感觉理论和魔鬼 - 拥护者.
*免责声明:我甚至没有开始考虑如何实施属性或者它可能具有哪些副作用或重复性等.