我希望有人可以向我解释为什么在浏览器中查看HTML时,下面的JavaScript/HTML会显示"门#2":
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
function testprint() {
alert('door #1');
};
window.onload = testprint;
function testprint() {
alert('door #2');
};
testprint = function() {
alert('door #3');
};
</script>
<script type="text/javascript">
function testprint() {
alert('door #4');
};
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
由于只有声明testprint在window.onload设置之前发生testprint,我希望window.onload原因'门#1'出现.实际上,onload导致'门#2'.请注意,无论是否包含第一个声明,它都会执行此操作testprint.
第三个和第四个testprint使用声明使用不同的方式来分配函数,我试着看看它是否会覆盖window.onload同样的第二个声明的testprint行为.它没.请注意,如果我将第四个声明移动到第testprint一个脚本块的末尾,它将被调用window.onload.
我想从代码中确定html页面上元素的z-index.我正在使用jQuery.
jQuery允许我使用$(element).css("z-index")检查应用的z-index.如果直接在该元素上没有设置z-index,则Firefox返回"auto",IE返回"0".然后,该节点的有效z-index取决于其容器的z-index.
我想我可以通过查看节点及其父节点来计算有效的z-index,直到找到z-index值.问题是,至少在IE上,我不能从一个将继承其父级的z-index的元素中消除z索引为0的元素,就像在两种情况下一样.css("z-index")返回0关于如何计算元素的实际z-index的任何想法?
如果您想进行试验,可以使用此代码.在IE上它将输出"0","0","0","300".在Firefox上,它将输出"auto","auto","0","300".
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script type="text/javascript">
alert($("<div></div>").css("z-index"));
alert($("<div style='position:relative'></div>").css("z-index"));
alert($("<div style='z-index:0'></div>").css("z-index"));
alert($("<div style='z-index:100'></div>").css("z-index"));
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我一直在玩ASP.NET MVC并且有一个问题.或者也许我担心这样做是错误的.只是在一个跛足的地方工作,伸展我的翅膀.对不起,这个问题根本不简洁.
好的,这是场景.当用户访问home/index时,该页面应显示产品列表和文章列表.文件布局是这样的(DAL是我的数据访问层):
Controllers
Home
Index
Views
Home
Index inherits from ViewPage
Product
List inherits from ViewUserControl<IEnumerable<DAL.Product>>
Single inherits from ViewUserControl<DAL.Product>
Article
List inherits from ViewUserControl<IEnumerable<DAL.Article>>
Single inherits from ViewUserControl<DAL.Article>
Controllers.HomeController.Index produces a View whose ViewData contains two entries, a IEnumerable<DAL.Product> and a IEnumerable<DAL.Article>.
View.Home.Index will use those view entries to call:
Html.RenderPartial("~/Views/Product/List.ascx", ViewData["ProductList"])
and Html.RenderPartial("~/Views/Article/List.ascx", ViewData["ArticleList"])
View.Product.List will call
foreach(Product product in View.Model)
Html.RenderPartial("Single", product);
View.Article.List does something similar to View.Product.List
Run Code Online (Sandbox Code Playgroud)
然而,这种方法失败了 这种方法对我来说很有意义,但也许对这些MVC平台有更多经验的人会认识到更好的方法.
以上内容在View.Product.List中产生错误.打电话Html.RenderPartial("Single",...)抱怨没有找到"单一"视图.错误表明:
The partial view …
有人知道在C#或任何.Net库中解析Lua数据结构的简单方法吗?这与JSON解码类似,除了Lua而不是javascript.
在这一点上看起来我需要自己编写,但希望已经有了一些东西.
我很好奇当人们进行TDD时,测试代码与生产代码的比率是多少合理/典型值.看一个组件,我有530行测试代码,用于130行生产代码.另一个组件有360行测试代码,用于360行生产代码.因此,单元测试需要大约3倍到5倍的代码.这是针对Javascript代码的.我没有太多经过测试的C#代码,但我认为对于另一个项目,我看的是测试代码的2倍到3倍,然后是生产代码.
在我看来,假设测试足够,该值越低,就会反映出更高质量的测试.纯粹的猜测,我只是想知道其他人看到的比例.
我知道代码行是一个松散的度量标准,但由于我为测试和生产编写了相同的样式(相同的间距格式,相同的注释等),因此值是可比较的.
假设我有一个匿名类实例
var foo = new { A = 1, B = 2};
Run Code Online (Sandbox Code Playgroud)
有没有快速生成NameValueCollection的方法?我想获得与下面的代码相同的结果,而不事先知道匿名类型的属性.
NameValueCollection formFields = new NameValueCollection();
formFields["A"] = 1;
formFields["B"] = 2;
Run Code Online (Sandbox Code Playgroud) 我在SQL Server 2005中的视图上创建全文索引时遇到麻烦.查看文档我没有发现问题.我收到的错误消息是:"'Id'不是强制执行全文搜索键的有效索引.全文搜索键必须是唯一的,不可为空的单列索引,它不是脱机的,是未在非确定性或不精确的非持久计算列上定义,并且最大大小为900字节.为全文键选择另一个索引." 我已经能够验证errorstring中除了"离线"要求之外的所有要求,我不知道这意味着什么.我很确定它不会脱机.
我有脚本在下面创建目标表,视图和索引.我真的不需要下面的示例中的视图,它被简化,因为我试图隔离问题.
DROP VIEW [dbo].[ProductSearchView]
DROP TABLE [dbo].[Product2]
GO
SET NUMERIC_ROUNDABORT OFF;
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT,
QUOTED_IDENTIFIER, ANSI_NULLS ON;
GO
CREATE TABLE [dbo].[Product2](
[Id] [bigint] NOT NULL,
[Description] [nvarchar](max) NULL,
CONSTRAINT [PK_Product2] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE VIEW [dbo].[ProductSearchView] WITH SCHEMABINDING
AS
SELECT P.Id AS Id,
P.Description AS Field
FROM [dbo].Product2 AS P
GO
-- this index may be overkill given … 我有一些具有冗余的linq查询,我想分解出一段代码.这些是IQueryable的连接表达式,重要的是我不会导致查询比没有重构时更早地进行评估.
这是一个简化的查询:
var result =
from T in db.Transactions
join O in db.Orders on T.OrderID equals O.OrderID
join OD in db.OrderDetails on O.OrderID equals OD.OrderID into OrderDetails
let FirstProductBought = OrderDetails.First().Select(OD => OD.Product.ProductName)
select new
{
TransactionID = T.TransactionID,
OrderID = O.OrderID,
FirstProductBought = FirstProductBought
};
Run Code Online (Sandbox Code Playgroud)
我想要分解的是"给定订单,购买的第一个产品是什么"的逻辑.我在其他查询中使用相同的逻辑.如何将其分解为共享方法?
通常,对于代码重用和IQueryables,我能够做的是使IQueryable进入并生成IQueryable/IOrderedQueryable作为输出的代码.使用这些函数,我可以使用可重用代码构建LINQ表达式,该代码仍然会延迟查询,直到查询完全构造完毕.在这里,由于我只有一个int(orderID),我不知道如何使它工作.
谢谢
我有一个布局问题,这是由于在IE8上以兼容模式呈现包含页面.有没有办法检测是什么导致IE8进入特定页面的兼容模式?
根据Microsoft的文档,以下条件可能导致页面以兼容模式呈现(http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx):
在查看了页面之后,我排除了第一种可能性,它必须是页面上的页面布局错误.我想找到这个错误.
作为一些自动部署+测试脚本的一部分,我用它来验证为站点完成的编程,我有一些脚本可以更新Apache的配置文件.我想以编程方式重新启动WAMP,以使更改生效.有没有办法做到这一点?
脚本是powershell.
这是我的apache bin文件夹中的内容:
iconv
ab.exe
abs.exe
ApacheMonitor.exe
apr_dbd_odbc-1.dll
apr_ldap-1.dll
dbmmanage.pl
htcacheclean.exe
htdbm.exe
htdigest.exe
htpasswd.exe
httpd.exe
httxt2dbm.exe
libapr-1.dll
libapriconv-1.dll
libaprutil-1.dll
libeay32.dll
libhttpd.dll
logresolve.exe
openssl.exe
php.ini
php5isapi.dll
php5ts.dll
rotatelogs.exe
ssleay32.dll
wintty.exe
zlib1.dll
Run Code Online (Sandbox Code Playgroud) c# ×2
.net ×1
asp.net-mvc ×1
html ×1
iqueryable ×1
javascript ×1
linq ×1
linq-to-sql ×1
lua ×1
parsing ×1
tdd ×1
unit-testing ×1
wamp ×1
z-index ×1