问题列表 - 第3547页

获取css最高值作为数字而不是字符串?

在jQuery中,您可以将相对于父级的顶部位置作为数字,但如果设置了,则无法将css顶部值作为数字px.
说我有以下内容:

#elem{
  position:relative;
  top:10px;
 }
Run Code Online (Sandbox Code Playgroud)
<div>
  Bla text bla this takes op vertical space....
  <div id='elem'>bla</div>
</div>
Run Code Online (Sandbox Code Playgroud)
$('#elem').position().top; //Returns the number (10+(the vertical space took by the text))
$('#elem').css('top'); //Returns the string '10px'
Run Code Online (Sandbox Code Playgroud)

但我希望将css top属性作为数字10.
如何实现这一目标?

javascript css jquery

117
推荐指数
3
解决办法
10万
查看次数

三层Web应用程序

是否可以 - 最好的做法 - 使用第二层重定向用户?

例如:

public static void ForceLogin()
{
    HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];

    if (cookie != null)
    {
        if (Regex.IsMatch(cookie.Value, "^[0-9]+\\.[a-f0-9]+$"))
        {
            using (EibxDataContext db = new EibxDataContext())
            {
                int count = db.Logins.Count(l => l.Password == cookie.Value);

                if (count == 1)
                {
                    return;
                }
            }
        }
    }

    HttpContext.Current.Response.Redirect("~/Login.aspx");
}
Run Code Online (Sandbox Code Playgroud)

在最后一行,我使用业务/服务逻辑层将用户重定向到登录页面.

这应该在Presentation层中完成吗?

c# redirect routing layer

4
推荐指数
2
解决办法
1171
查看次数

使用CMake生成Visual Studio C++项目文件

我正在开发一个开源C++项目,用于在Linux和Windows上编译的代码.我使用CMake在Linux上构建代码.为了便于开发设置和政治原因,我必须坚持使用Windows上的Visual Studio项目文件/编辑器(例如,我无法切换到Code :: Blocks).我看到了使用CMake生成Visual Studio文件的说明,如此处所示.

您之前是否使用过CMake生成Visual Studio文件?你的经历怎么样?假设我想在项目中添加一个新文件.这是什么工作流程?

c++ build-process cross-platform cmake visual-studio

86
推荐指数
6
解决办法
13万
查看次数

.Owner属性和ShowDialog(IWin32Window所有者)之间的区别?

我假设可以通过.Owner属性显式设置winform的所有者,或者通过在重载方法ShowDialog中传递所有者(IWin32Window所有者)

我无法理解为什么这些方法在使用MDI表单时表现出不同的行为.

我创建了一个MDIParent和一个MDIChild.

我还有一个简单的winform MyDialogBox,可以在加载时显示其所有者.

MessageBox.Show("Dialog's owner is " + this.Owner.Name);
Run Code Online (Sandbox Code Playgroud)

方法A - 在MDIChild的加载中我有以下代码,这使得MyDialogBox的所有者被设置为MDIChild

MyDialogBox box = new MyDialogBox();
box.Owner = this; // Set owner as MDIChild
box.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

方法B - 或者,在MDIChild的加载方法中,我有以下代码,它导致MyDialogBox的所有者被设置为MDIParent

MyDialogBox box = new MyDialogBox();
box.ShowDialog(this); // Pass MyMDIChild as owner
Run Code Online (Sandbox Code Playgroud)

我也在这里阅读以下内容

只有MDI父窗体可以拥有另一个窗体,无论是MDI子窗口,模式对话框还是将父窗口设置为所有者参数的窗体.

如果是这样,方法A根本不起作用,不是吗?

我错过了什么?为什么方法B没有将所有者设置为MDIChild?

c# mdi modal-dialog winforms

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

WPF:如何在对话单元中指定单位?

我试图弄清楚如何使用适当的对话单元(DLU)在WPF中布局一个简单的对话框.


什么是对话单元?

对话框是基于用户首选字体大小的度量单位.定义一个对话框单元,使得平均字符宽4个对话框单位,高8个对话框单位:

在此输入图像描述

这意味着对话单元:

  • 用所选字体更改
  • 已选择DPI设置更改
  • 不正方形

我花了大约两个小时从Windows Vista中使用各种dlu测量标注这个示例对话框.有人可以给出生成此对话框的相应XAML标记吗?

替代文字 (图片链接)

现在我承认我对WPF XAML几乎一无所知.每次我开始,我都会受到阻碍,因为我无法弄清楚如何进行任何控制.似乎WPF中的所有内容都必须包含在某种面板中.有StackPanels,FlowPanels,DockPanel,Grid等.如果你没有这些,那么它将无法编译.

到目前为止,我唯一能够提出的XAML(uing XAMLPad):

<DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Image Width="23" />
    <Label>Are you sure you want to move this file to the Recycle Bin?</Label>
    <Image Width="60" />
    <Label>117__6.jpg</Label>
    <Label>Type: ACDSee JPG Image</Label>
    <Label>Rating: Unrated</Label>
    <Label>Dimensions: 1072 × 712</Label>
    <Button Content="Yes" Width="50" Height="14"/>  
    <Button Content="Cancel" Width="50" Height="14"/>  
</DockPanel>
Run Code Online (Sandbox Code Playgroud)

这是一个华而不实的怪物.没有任何控件放置或尺寸正确.我无法弄清楚如何在窗口中定位控件,也无法正确调整它们的大小.

有人可以将该屏幕截图转换为XAML吗?

注意:您不能测量屏幕截图.指定了所有对话单位(dlu)的宽度和高度.

注意: 1个水平DLU!= 1个垂直DLU.水平和垂直DLU的大小不同.


也可以看看

windows wpf xaml dpi

24
推荐指数
2
解决办法
6070
查看次数

与Mnesia保持关系完整性

我最近一直潜入Erlang,我决定使用Mnesia来完成我的数据库工作,因为它可以存储任何类型的Erlang数据结构而没有问题,可以轻松扩展,与列表推导一起使用等.

来自标准SQL数据库,大多数行可以并且应该由主键标识,通常是自动递增整数.默认情况下,Mnesia将行的第一个字段视为其键.据我所知,它也没有办法让自动递增的整数键.

鉴于我有这些虚构的记录代表我的表:

-record(user, {name, salt, pass_hash, email}).
-record(entry, {title, body, slug}).
-record(user_entry, {user_name, entry_title}).
Run Code Online (Sandbox Code Playgroud)

我认为使用用户名可能已经足够用于某些目的,就像条目标题一样,为了识别资源,但我该如何保持完整性?

假设用户更改了其名称,或者在编辑后更改了条目的标题.如何确保我的数据仍然正确相关?无论如何使用用户名更改每个表,听起来都是一个糟糕的主意.

在Mnesia实施某种主键系统的最佳方法是什么?

另外,如果第一个字段通常是密钥,那么像'user_entry'这样的中间表会如何呢?否则,在Mnesia中代表多对多关系会有什么更好的方式?

database erlang mnesia

10
推荐指数
2
解决办法
2337
查看次数

避免System.Transactions中的事务升级的策略

因此,基于回答我刚才的问题,交易得到来自LTM到DTC,如果多个连接在一个事务中打开,即使连接都具有相同的连接字符串升高.

所以,我的下一个问题是,可以采用什么策略来避免这种"功能"?在我看来,基于资源使用,我想确保尽可能多地使用LTM.在正确的面向对象的业务逻辑层中,我能想到的唯一方法是在数据访问层创建请求级静态连接对象,并在调用之间共享,直到请求完成(这里隐含的知识)是业务对象实体是谨慎的,不知道他们被调用的是什么顺序,另外一个事实是,人们不希望将连接对象冒泡到业务对象层,因为这将是数据存储实现细节流血到另一层).

有没有其他人有任何想法不会完全破坏n层系统的层封装?

architecture ado.net transactions system.transactions n-tier-architecture

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

格式化组合框的文本,C#

我需要在下拉框中对齐三个值.我怎样才能做到这一点?我一直在尝试这个: String.Format("{0,-30}{1,-15}{2,-10}{3,-8}", new object[] { cusJob, service, username, time }); 但是这使它不均匀,因为它不是等宽字体.我真的不想使用等宽字体,我之前看过应用程序对齐它,我怎么能这样做?

谢谢.

c# string combobox winforms

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

jQuery UI Datepicker和datejs

我想要一个日期选择器,你也可以只键入我希望将jQuery UI Datepicker和datejs合二为一.我想输入"明天",我希望它选择正确的一天.我想能够输入"星期六",它实际上是正确的日期.

javascript jquery datepicker datejs

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

我们需要在多线程代码中读取.NET Int32时锁定它?

我正在阅读以下文章:http: //msdn.microsoft.com/en-us/magazine/cc817398.aspx "解决你的多线程代码中的11个可能的问题"作者:Joe Duffy

它提出了一个问题:"我们需要在用多线程代码读取它时锁定.NET Int32吗?"

据我所知,如果它是32位SO中的Int64,它可能会撕裂,正如文章中所解释的那样.但对于Int32,我想到了以下情况:

class Test
{
  private int example = 0;
  private Object thisLock = new Object();

  public void Add(int another)
  {
    lock(thisLock)
    {
      example += another;
    }
  }

  public int Read()
  {
     return example;
  }
}
Run Code Online (Sandbox Code Playgroud)

我没有看到在Read方法中包含锁的原因.你呢?

更新基于答案(由Jon Skeet和ctacke提供)我理解上面的代码仍然容易受到多处理器缓存的影响(每个处理器都有自己的缓存,与其他处理器不同步).所有这三个修改都解决了这个问题:

  1. 添加"int example"的"volatile"属性
  2. 插入Thread.MemoryBarrier(); 在实际读取"int example"之前
  3. 在"lock(thisLock)"中读取"int example"

而且我也认为"易变"是最优雅的解决方案.

.net c# multithreading locking

14
推荐指数
2
解决办法
7061
查看次数