小编Dan*_*ert的帖子

我可以像.NET中的数字一样格式化字符串吗?

如果我有这样的电话号码

string phone = "6365555796";
Run Code Online (Sandbox Code Playgroud)

我在数据库中只存储数字字符(作为字符串),是否可以输出如下数字:

"636-555-5796"
Run Code Online (Sandbox Code Playgroud)

类似于我使用数字时的情况:

long phone = 6365555796;
string output = phone.ToString("000-000-0000");
Run Code Online (Sandbox Code Playgroud)

我试过搜索,我在网上找到的只是数字格式文件.

我问的原因是因为我认为能够仅在数据库中存储数值并允许使用常量字符串值来指定我的电话号码格式的不同格式是一个有趣的想法.或者我最好使用一个数字吗?

编辑:问题是格式化包含数字的字符串,而不是数字本身.

.net c# formatting

4
推荐指数
3
解决办法
2337
查看次数

将键/值添加到现有URL字符串的最佳方法?

我想在我的页面上生成一个链接,其中一个键/值对动态添加到URL,以便:

Default.aspx?key1=value1

变为:

Default.aspx?key1=value1&key2=value2

这样现有的查询就会保留URL中的任何键.此外,如果没有密钥,那么我的密钥将与' ?' 一起添加,因为它将是必需的.

我可以轻松地编写一些执行此操作的逻辑,但这似乎是框架应具有的实用性.有没有办法在不编写自己的逻辑的情况下为查询字符串添加键?

.net c# asp.net

4
推荐指数
1
解决办法
2427
查看次数

Nhibernate:在子查询上左外连接

更新需要2

这是我正在使用的两个查询(在两个查询中都省略了分页)

我想得到以下查询

SELECT * 
FROM product
LEFT OUTER JOIN 
(
    SELECT * 
    FROM Cart 
    LEFT OUTER JOIN 
    cartproducts 
    ON Cart.Id = cartproducts.Cart_id 
    WHERE Cart.username = 'user'
)
AS CartFiltered 
ON product.Id = CartFiltered.product_id
Run Code Online (Sandbox Code Playgroud)

但我似乎总是得到

SELECT * 
FROM product  
LEFT OUTER JOIN 
cartproducts 
ON product.Id = cartproducts.Product_id 
LEFT OUTER JOIN
Cart
ON
cartproducts.cart_id = cart.id
WHERE Cart.username = 'user'
Run Code Online (Sandbox Code Playgroud)

我如何设法创建第一种查询?我希望我的问题更清楚:)缺乏清晰度有时候是我的大敌:p


更新:

FWIW,我仍然没有找到答案,我正在加载分页产品数据和整个购物车以显示正确的对象.原始解决方案,但它的工作原理,它击败了我一直试图让Criteria API认识我作为它的主人的组合.如果有人碰巧指出我正确的方向,我会很感兴趣;)


你好,

我很难在Criteria API中编写以下查询,我真的没有看到如何做到这一点:我希望有些人可以提供帮助.

在数据库上,我有产品.这些产品可以在许多推车(每个用户一个推车),每个推车可以包含许多产品,所以我们有很多关系.我想显示每个产品的列表,旁边还有一个小图标,告知用户该特定产品已经在购物车中.我做的是我向NHibernate询问我的产品,并在购物车所有者过滤的推车上做左外连接.

Dim critPage As ICriteria = Session.CreateCriteria(GetType(Product)) _
.SetFirstResult(pageNumber * itemsPerPage).SetMaxResults(itemsPerPage) _
.CreateCriteria("Carts", "c", …
Run Code Online (Sandbox Code Playgroud)

nhibernate subquery left-join

4
推荐指数
1
解决办法
8237
查看次数

在Firefox中使用jquery失败的AJAX https POST请求

我在HTML表中有一个简单的记录列表,每行都有一个删除链接.删除链接将AJAX帖子请求发送到固定网址,该网址看起来像:" /delete/record/5"

.ajax()使用https的服务器上运行时,使用jquery的调用和POST消息创建AJAX请求.在OSX/Windows体系结构的Firefox 3中,此调用失败.它适用于我测试的所有其他浏览器(OSX/Windows:Chrome,Safari,IE7.)

请求来自https站点并转到相同的https站点.但我觉得在这个过程中某个地方原始请求以http开始,我们的服务器上有一个重定向尝试从http-> https发送它,Firefox拒绝重定向作为某种类型的伪造.

有没有人有.ajax()使用Firefox在https网站上进行JQuery调用的经验?我注意到一些奇怪的地方,如果请求?var=xxx在URL中有" "参数,那么请求似乎更频繁地工作,如果它没有那些变量.

ajax firefox jquery firefox-3

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

JavaScript在Firefox 3中异步加载(根据Firebug)?

我正在尝试描述一个网站的性能,我相当有信心通过加载页面上的JavaScript文件来降低速度.

页面上多次包含相同的JavaScript文件,<script />标签分散在整个页面中,而不是包含在底部.

正如我所怀疑的那样,在查看FireBug的"网络"选项卡时,大多数时候(不是全部)加载JavaScript时,都不会请求其他文件.浏览器等待JavaScript完成加载.

但是有一些例外.有些情况下会加载JavaScript,但与此同时,其他资源似乎也会被加载,例如其他JavaScript文件和图像.

我一直认为JavaScript阻止了页面上其他资源的加载.我是否认为这是错误的,或者这种行为是否因浏览器或浏览器版本而异?

更新:
对于已经解释如何加载脚本阻止加载其他资源的人,我已经意识到了这一点.我的问题是为什么脚本不会阻止加载其他资源.Firebug显示某些JavaScript文件不会阻止加载其他资源.我想知道为什么会这样.

javascript browser web-optimization

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

为什么Internet Explorer需要"hasLayout"标志?

像许多在Internet Explorer网站上工作的开发人员一样,我似乎遇到了很多由臭名昭着的hasLayout旗帜引起的错误.

我理解这个标志的作用以及它是如何工作的(大多数情况下).我前几天阅读的一个很好的解释(虽然我找不到源代码)是hasLayout在IE中本质上意味着"使这个元素成为一个矩形".

它显然比那更复杂,但它很好地总结了(在我看来).

我不明白的是浏览器使用此标志的原因.在寻找答案时,我找到了一个听起来合乎逻辑的答案:

在CSS真正全面展开之前,Internet Explorer必须处理非常旧的遗留代码.作为使浏览器易于添加CSS的架构决策,该hasLayout标志用于触发某些CSS属性,以便正确呈现页面.这可以追溯到IE4时代.

这几乎对我有意义,直到我意识到Firefox(当时的Netscape)必须处理同样的问题.Netscape几乎与Internet Explorer一样长,但hasLayout据我所知,它不需要任何内部标志或类似内容.

看看hasLayout标志是如何在Internet Explorer中出现如此多的错误,有谁知道为什么IE有这个标志而其他浏览器不需要它?

如果有人有任何理论或碰巧知道答案,我想纯粹出于好奇而知道这件事.我想更多地了解为什么(或为什么不)这个标志是有用的.

css internet-explorer haslayout

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

如果条件为真,我怎么才能执行更新命令?

我正在研究需要删除列的数据库升级脚本(该部分很容易).在我删除列之前,我想获取值并将其移动到已存在的另一列中.

我试图用我的剧本来实现幂等,这是我似乎失败的地方.我有这样的代码......

IF EXISTS (SELECT * 
         FROM sys.all_columns 
         WHERE sys.all_columns.object_id = OBJECT_ID(N'[dbo].[MyTable]')
         AND sys.all_columns.name = 'Column1')
BEGIN
    UPDATE [dbo].[MyTable] 
    SET [Column2] = [Column1]

    ALTER TABLE [dbo].[MyTable]
    DROP COLUMN [Column1]
END
Run Code Online (Sandbox Code Playgroud)

无论我做什么,UPDATE总是执行查询,即使条件为false,也会导致错误.如果我的初始条件为false,我需要做什么来阻止运行此查询?ALTER TABLE如果条件为真,则仅在下面的语句中运行.

sql sql-server sql-server-2005

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

如何仅从结果集中选择常用属性?

可以说我有一个包含列的表,例如:

  • ID
  • Name
  • City
  • State
  • ZIP

我需要编写一个只返回一行的查询.这行将包括City,, StateZIP,但是如果结果集中的所有值都相同,我只希望字段具有值,否则我希望该字段为null.

例如,如果每个记录具有相同的State,则State将返回结果.如果只有一个结果具有不同的状态,我希望该字段为null.在SQL Server 2005中是否可以这样?

基本上,我想要一个这样的查询:

SELECT City, State, ZIP
FROM Users
WHERE ID IN(1,2,3,4,5,6)
Run Code Online (Sandbox Code Playgroud)

但只返回一行,我在上面描述的规格.

sql t-sql sql-server sql-server-2005

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

在java中使用文件路径的最佳方法是什么?

我相信这是File班级,但我听说内存非常昂贵.

有没有更好的方法来处理文件路径?

java file

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

使用ASP.NET动态设置CSS值

我正在一个网站上,图片和其他资源将位于与网站主要内容不同的域中.我们将为主站点使用类似"www.example.com"的内容,然后使用"images.example.com"获取样式等所有额外资源.

在开发网站时,我会将所有这些资源保存在本地开发中.机器.这里的挑战是保持生产服务器和开发环境之间的CSS引用一致.

我想要做的是创建一个web.config存储图像服务器的URL的密钥.然后,当从开发切换到生产时,我可以只更改web.config值,一切都会完成.

有没有办法从配置或C#类中的某个位置动态或以其他方式向CSS文件添加值?或者我是以错误的方式来做这件事的?

另外,如果有所不同,我只能使用.NET 2.0.

更新
为了进一步扩展,我知道我可以使用web.config设置服务器控件的URL.这些已经动态生成.我更感兴趣的是我有什么选项可以修改(或做" 某事 ")静态CSS文件,这些文件允许我更改CSS中引用的背景图像资源等URL.除了使用我的IDE查找/替换值之外,我还能做些什么吗?也许可以使用部署脚本自动完成的事情?

css c# asp.net configuration

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

使用jQuery 1.3+检测IE8,IE7,Safari,FireFox?

我需要根据每个浏览器更改一个值,因为它们都以不同的方式呈现.

if (navigator.appName == 'Netscape'){
        top = 17;
}
Run Code Online (Sandbox Code Playgroud)

这很有效但不幸的是Firefox和Safari都显示为"Netscape"

我如何使用jQuery 1.3.2来检测所有这些?我jquery.support现在找不到任何信息jquery.browser.

谢谢!

javascript jquery browser-detection object-detection

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