小编Fra*_*man的帖子

在声明之前引用JavaScript值 - 有人可以解释这一点

我希望有人可以向我解释为什么在浏览器中查看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)

由于只有声明testprintwindow.onload设置之前发生testprint,我希望window.onload原因'门#1'出现.实际上,onload导致'门#2'.请注意,无论是否包含第一个声明,它都会执行此操作testprint.

第三个和第四个testprint使用声明使用不同的方式来分配函数,我试着看看它是否会覆盖window.onload同样的第二个声明的testprint行为.它没.请注意,如果我将第四个声明移动到第testprint一个脚本块的末尾,它将被调用window.onload.

javascript

14
推荐指数
1
解决办法
3226
查看次数

如何计算HTML元素的有效z-index

我想从代码中确定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)

html z-index

13
推荐指数
1
解决办法
9849
查看次数

具有相对路径的ASP.Net MVC和RenderPartial

我一直在玩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 …

asp.net-mvc renderpartial

11
推荐指数
2
解决办法
3万
查看次数

在C#/ .Net中解析Lua数据结构的最简单方法

有人知道在C#或任何.Net库中解析Lua数据结构的简单方法吗?这与JSON解码类似,除了Lua而不是javascript.

在这一点上看起来我需要自己编写,但希望已经有了一些东西.

c# lua parsing

11
推荐指数
3
解决办法
1万
查看次数

与测试代码相比,单元测试的典型大小

我很好奇当人们进行TDD时,测试代码与生产代码的比率是多少合理/典型值.看一个组件,我有530行测试代码,用于130行生产代码.另一个组件有360行测试代码,用于360行生产代码.因此,单元测试需要大约3倍到5倍的代码.这是针对Javascript代码的.我没有太多经过测试的C#代码,但我认为对于另一个项目,我看的是测试代码的2倍到3倍,然后是生产代码.

在我看来,假设测试足够,该值越低,就会反映出更高质量的测试.纯粹的猜测,我只是想知道其他人看到的比例.

我知道代码行是一个松散的度量标准,但由于我为测试和生产编写了相同的样式(相同的间距格式,相同的注释等),因此值是可比较的.

tdd unit-testing

9
推荐指数
1
解决办法
3119
查看次数

如何将匿名类型的实例转换为NameValueCollection

假设我有一个匿名类实例

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)

c# anonymous-types

9
推荐指数
2
解决办法
4891
查看次数

在SQL Server 2005中的视图上创建全文索引

我在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 …

full-text-search sql-server-2005

7
推荐指数
1
解决办法
2万
查看次数

重构LINQ IQueryable表达式以删除重复的查询部分

我有一些具有冗余的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),我不知道如何使它工作.

谢谢

.net linq iqueryable linq-to-sql

7
推荐指数
1
解决办法
1744
查看次数

确定在兼容模式下呈现页面的原因?

我有一个布局问题,这是由于在IE8上以兼容模式呈现包含页面.有没有办法检测是什么导致IE8进入特定页面的兼容模式?

根据Microsoft的文档,以下条件可能导致页面以兼容模式呈现(http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx):

  • 已为页面启用兼容性视图.
  • 该页面加载到Intranet区域,Internet Explorer 8配置为兼容性视图中Intranet区域中的页面.
  • Internet Explorer 8配置为在兼容性视图中显示所有网站.
  • Internet Explorer 8配置为使用兼容性视图列表,该列表指定始终显示在兼容性视图中的一组网站.
  • 开发人员工具用于覆盖网页中指定的设置.
  • 网页遇到页面布局错误,Internet Explorer 8配置为通过在兼容性视图中重新打开页面自动从此类错误中恢复.

在查看了页面之后,我排除了第一种可能性,它必须是页面上的页面布局错误.我想找到这个错误.

ie8-compatibility-mode

7
推荐指数
1
解决办法
2148
查看次数

如何以编程方式重启WAMP或Apache?

作为一些自动部署+测试脚本的一部分,我用它来验证为站点完成的编程,我有一些脚本可以更新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)

wamp

7
推荐指数
1
解决办法
1万
查看次数