我有这个按钮:
<button type="button" class="themeChanger" data-themeValue="grid" value="Grid">
<img src="templateImages/Icon_200.png" />
</button>
Run Code Online (Sandbox Code Playgroud)
而这个jQuery:
$(".themeChanger").click(function () {
alert($(this).attr("data-themeValue"));
alert($(this).data("themeValue"));
});
Run Code Online (Sandbox Code Playgroud)
由于某种原因,第一个警报显示"网格"应该像它应该,但第二个警告显示未定义.有什么东西让我感到愚蠢吗?
我有一个绝对定位的div,我试图跟踪鼠标何时移动它以及鼠标何时离开.不幸的是,单击框中的文本偶尔会触发mouseleave事件.
演示:js小提琴
我怎么能阻止这个?
JS
let tooltip = document.createElement('div');
tooltip.innerHTML = 'HELLO WORLD';
tooltip.setAttribute('class', 'tooltip');
tooltip.style.display = 'none';
tooltip.onclick = evt => {
console.log('click')
evt.stopPropagation();
}
tooltip.ondblclick = evt => {
console.log('double click')
evt.stopPropagation();
}
tooltip.onmouseenter = () => {
console.log('tooltip mouse OVER');
}
tooltip.onmouseleave = () => {
console.log('tooltip mouse OUT')
}
tooltip.style.left = '290px';
tooltip.style.top = '50px';
tooltip.style.display = 'block';
document.body.appendChild(tooltip);
Run Code Online (Sandbox Code Playgroud)
HTML
<div style="width: 300px; height: 300px; background-color: lightblue">
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.tooltip {
position: absolute;
/*display: none;*/
left: …Run Code Online (Sandbox Code Playgroud) 我一直在玩表达树.我有以下简单的方法,通过动态创建表达式树来执行查询.ItemType是数据库中的可空int,也是EF实体类中的可空int .出于某种原因虽然查询引发了错误
未处理的异常:System.InvalidOperationException:没有为类型'System.Nullable`1 [System.Int32]'和'System.Int32'定义二进制运算符Equal.
我不认为我要求EF转换任何东西.我把我的参数定义为int?,这是我认为它应该是.
注意,我看过这个
但是这个家伙正试图传递他作为对象输入的可以为空的int值,我猜这个EF有问题.我实际上是从头开始宣布这是正确的类型.
public void GetResultCollection<T>() {
MyEntities db = new MyEntities();
var result = db.CreateQuery<T>(String.Format("[{0}]", typeof(T).Name + "s"));
int? ItemTypeValue = 1;
var param = Expression.Parameter(typeof(T));
var lambda = Expression.Lambda<Func<T, bool>>(
Expression.Equal(
Expression.Property(param, "ItemType"),
Expression.Constant(ItemTypeValue)),
param);
var list = result.Where(lambda).ToList();
}
Run Code Online (Sandbox Code Playgroud)
编辑
我也试过 ItemTypeValue.Value - 同样的错误
点击一个按钮,我试图在一个奇特的盒子里显示一个简单的隐藏div.这是代码的作品:
$("#btnForm").fancybox({ content: $("#divForm").html() });
Run Code Online (Sandbox Code Playgroud)
但从我所读到的,这似乎并不是实现这一目标的标准方法.我尝试了以下各项,但没有成功:
$("#btnForm").fancybox({ href: "#divForm" });
$("#btnForm").click(function () {
$.fancybox({ href: "#divForm" });
});
$("#btnForm").click(function () {
$("#divForm").fancybox();
});
Run Code Online (Sandbox Code Playgroud)
有人能指出我如何正确使用这个实用程序吗?这是我的HTML:
<input type="button" value="Load Form" id="btnForm" />
<div id="divForm" style="display:none">
<form action="tbd">
File: <input type="file" /><br /><br />
<input type="submit" />
</form>
</div>
Run Code Online (Sandbox Code Playgroud) 如何使用点表示法在linq中执行左外连接?
这是查询表达式:
var query = from u in db.Users
join d in db.Defects on u.userID equals d.userID into defectsGroup
from d in defectsGroup.DefaultIfEmpty()
select new { u, d };
Run Code Online (Sandbox Code Playgroud)
这是我试过的:
var query2 = db.Users.GroupJoin(db.Defects.DefaultIfEmpty(),
u => u.userID,
d => d.userID,
(user, defect) => new { user, defect });
Run Code Online (Sandbox Code Playgroud)
但缺陷显示的IEnumerable<Defect>不仅仅是公正Defect.我也尝试过:
var query2 = db.Users.GroupJoin(db.Defects,
u => u.userID,
d => d.userID,
(user, defect) => new { user, defect.DefaultIfEmpty() });
Run Code Online (Sandbox Code Playgroud)
这根本就不编译.所有在线示例似乎都使用(更清晰的)查询语法.
这是生成的html asp.net(删除了一些客户识别细节)
在Windows XP/IE 7中,单击图像不会执行任何操作.单击文本执行超链接.右键单击任意位置,然后选择open in new window或open也可以.
在其他浏览器中,它都按预期工作.
是否有任何简单的任何人可以看到我可以做到这一点,以使其在IE7中正常工作?
<div id="hdrXXX">
<a id="ctl00_XXX" title="XXX" class="hdrXXX" href="http://google.com" target="_blank">
<div style="float:left;display: block;">
<img id="ctl00_XXX" src="Images/XXX.png" style="border-width:0px;" />
</div>
<div style="float:left; display: block; padding:15px 0 0 0;">
<span id="XXX">Some text right here</span>
</div>
</a>
</div>
Run Code Online (Sandbox Code Playgroud) 最终编辑
tl; dr决议这是不可能的.虽然下面的最佳答案确实有一些很好的信息.
考虑下面的代码,来自contacts.js.这是一个动态加载的模块,可以根据需要加载System.import到代码中的其他位置.
如果SharedUtil1还用于其他也动态加载的模块System.import,我将如何从所有这些模块中SharedUtility1 排除,并且仅在第一次需要时按需加载?
顶级System.import的SharedUtil1都不行,因为我的出口依赖于它:出口只能被放置在一个模块的代码顶层,没有任何形式的回调.
Webpack可以实现吗?我的版本是2.0.7测试版.
import SharedUtil1 from '../../SharedUtilities/SharedUtility1';
class Contacts{
constructor(data){
this.data = data;
this.sharedUtil1 = new SharedUtil1();
}
}
export default Contacts;
Run Code Online (Sandbox Code Playgroud)
更新1
我认为捆绑加载器是我想要的,但是没有,它将你导入的模块转换为一个不同的函数,一旦它完成异步加载,你就可以通过回调来访问实际的模块.这意味着你不能透明地使模块X异步加载而不对代码进行重大更改,更不用说你回到最初描述的问题,如果你的顶级模块依赖于现在的异步加载依赖,没有办法导出它,因为导出必须在顶层.
Webpack中是否有办法表示依赖加载依赖关系X(如果需要),并且有任何导入的模块导入它以透明地等待导入过程?我认为这个用例对于任何远程大型应用程序都是必不可少的,因此我不得不认为我只是遗漏了一些东西.
更新2
根据彼得的回答,我试图让重复数据删除工作,因为commonChunk插件与端点之间共享代码有关,正如他所提到的,并且因为require.ensure将加载的代码放入回调中,从而阻止您使用export任何依赖于它的代码.
至于重复数据删除,contacts.js并且tasks.js都加载相同sharedUtil像这样
import SharedUtil1 from '../../sharedUtilities/sharedUtility1';
我试过运行webpack
webpack --optimize-dedupe
并且还通过添加
plugins: [
new webpack.optimize.DedupePlugin()
] …Run Code Online (Sandbox Code Playgroud) 我有一个产品实体,它有0或1个"BestSeller"实体.出于某种原因我说:
db.Products.OrderBy(p => p.BestSeller.rating).ToList();
Run Code Online (Sandbox Code Playgroud)
我得到的SQL有一个"额外的"外连接(下面).如果我添加第二个0或1关系,并按两者排序,那么我得到4个外连接.似乎每个这样的实体产生2个外连接而不是一个.LINQ to SQL完全按照您的预期运行,没有额外的连接.
有没有其他人经历过这个,或者知道如何修复它?
SELECT
[Extent1].[id] AS [id],
[Extent1].[ProductName] AS [ProductName]
FROM [dbo].[Products] AS [Extent1]
LEFT OUTER JOIN [dbo].[BestSeller] AS [Extent2] ON [Extent1].[id] = [Extent2].[id]
LEFT OUTER JOIN [dbo].[BestSeller] AS [Extent3] ON [Extent2].[id] = [Extent3].[id]
ORDER BY [Extent3].[rating] ASC
Run Code Online (Sandbox Code Playgroud) DAO数据访问对象是.NET中常用的模式吗?我一直使用DAO作为提供访问我的数据层的方法.例如,我可能在我的EntityFramework ObjectContext上有一个瘦接口,将我的所有ObjectSet暴露为IObjectSet.
然后,DAO将公开复杂查询,每个DAO都依赖于此接口.我可能有一个ProductDAO暴露像GetProductsOnSale()或的方法GetInfrequenlySoldProducts().然后我的控制器或演示者将使用这些方法,这些方法可能是虚拟的,以允许对单元测试的特定结果进行存根.
这是.NET中常用的习惯用法吗?出于某种原因,我在线使用此模式看到的绝大多数示例都基于Java.甚至 关于DAO最佳实践的这个问题也被标记为Java而不是C#.
使用来自其他社区的东西没有任何问题,我只是有点担心我身边的每个人都在以不同的方式做事......
编辑
这个问题的简单版本是,如果我有一些object o,我将如何检查o是否是某种IEnumerable<string> 用反射实现的类型?最初的问题更具体,但对上述问题的答案也同样好.对不起,如果我在这个问题上提供了太多细节
结束编辑
以下是一个人为的ValueInjecter POC.一切都很好,除了isCollectionMapping最底层的方法.当且仅当源和目标属性都是实现的任何对象时,我试图让它返回true IEnumerable<respectiveTypes>.
我试过IsAssignableFrom,也IsInstanceOfType,但既不似乎工作.
其他一切都有效,因为当我取消注释方法的第二行以明确检查名称"Children"的属性时,它工作正常.
注意 - 我知道此示例存在问题.也就是说,我正在试图检查任何旧的,IEnumerable<>但总是知道足以返回List<>; 在这一点上,它只是一个愚蠢的概念证明.
[TestClass]
public class UnitTest1 {
[TestMethod]
public void TestMethod1() {
List<string> strings = new List<string>();
Subject S = new Subject() {
id = 1,
SubjectName = "S1",
Children = { new Subject() { id = 2, SubjectName = "S1a" },
new Subject() { id = 3, SubjectName = "S1b", …Run Code Online (Sandbox Code Playgroud) c# ×5
javascript ×3
jquery ×2
.net ×1
css ×1
dao ×1
dom ×1
fancybox ×1
html ×1
linq ×1
mouseevent ×1
optimization ×1
reflection ×1
webpack ×1
webpack-2 ×1