问题列表 - 第7836页

MVC与WebForms

在我看来,似乎有很多事情在继续,每个人都跳上了MVC的潮流.几乎每个人都在宣称WebForms是邪恶的,没有太多说服力的撒旦.然后他们继续说控件是邪恶的,他们不应该在Web应用程序中.你如何在没有任何控制的情况下展示任何东西?

我记得当WebForms第一次出现并且每个人都喜欢它们时.我想在几年后,人们会接下来的事情,并宣布MVC邪恶,因为你必须实际创建控件来使用MVC,他们会说你必须开发一个应用程序而不用担心控件.

我认为MVC的方式可以通过在Form标签中不包含RunAt来实现.然后,如果要检索数据,只需使用Ajax.

有人能说服我为什么要使用MVC而不是WebForms?

asp.net-mvc webforms

13
推荐指数
3
解决办法
3926
查看次数

这段代码如何抛出NullReferenceException?

我必须忘记,因为我的单元测试失败,因为以下代码抛出了null ref异常:

int pid = 0;
if (parentCategory != null)
{
    Console.WriteLine(parentCategory.Id);
    pid = parentCategory.Id;
}
Run Code Online (Sandbox Code Playgroud)

投掷它的线是:

pid = parentCategory.Id;
Run Code Online (Sandbox Code Playgroud)

console.writeline只是在NUnit GUI中调试,但输出有效的int.

编辑:它是单线程的,因此无法从其他某个线程分配为null,而Console.WriteLine成功打印出该值的事实表明它不应该抛出.

编辑: Category类的相关片段:

public class Category
{
    private readonly int id;

    public Category(Category parent, int id)
    {
        Parent = parent;
        parent.PerformIfNotNull(() => parent.subcategories.AddIfNew(this));
        Name = string.Empty;
        this.id = id;
    }
    public int Id
    {
        get { return id; }
    }
}
Run Code Online (Sandbox Code Playgroud)

好吧,如果有人想查看完整的代码,请访问http://code.google.com/p/chefbook/source/checkout上的Google Code

我想我会尝试重新启动计算机...我已经看到通过重启修复了很奇怪的事情.重启后会更新.

更新:神秘解决了.看起来NUnit将错误行显示为最后成功执行的语句...将复制/粘贴测试复制到新控制台应用程序并在VS中运行显示它是包含空引用的if语句块(未显示)之后的行.感谢大家的所有想法.给每个回答的人+1.

c# nunit

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

Mercurial简介

我刚刚开始研究一个使用Mercurial作为版本控制系统的项目,我需要一些关于如何使用它的基本技巧.请使用此问题提供有关此技术的一些介绍性提示.

特别是,我正在寻找有关最佳程序使用和最佳技术的提示(分支机构,进出检查等等.我需要学习最佳实践!)

version-control mercurial dvcs

13
推荐指数
3
解决办法
2302
查看次数

如何向 VBA ListBox 添加水平滚动条

我想向 VBA ListBox 添加水平滚动条。

看来内置的ListBox不会自动添加水平滚动条。我有许多字段,其内容超出了列表框的宽度,因此用户无法读取。

我找到了这篇文章,但是由于访问 ListBox 的 hwnd(这在 VBA 中显然不可用),代码失败了。我宁愿不编写本机 DLL 来完成此任务,因为我怀疑有更好的方法。

关于如何向 VBA ListBox 添加水平滚动条的任何想法?

我愿意接受使用替代控件的想法,而不是让它专门与 ListBox 一起使用。

vba

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

Java重载vs重写

嗨,我只是想确保我有正确的这些概念.在java中重载意味着您​​可以使用具有不同数量的参数或不同数据类型的构造函数或方法.即

public void setValue(){
   this.value = 0;
}
public void setValue(int v){
   this.value = v;
}
Run Code Online (Sandbox Code Playgroud)

这个方法怎么样?它是否仍会被视为重载,因为它返回不同的数据类型?

public int setValue(){
   return this.value;
}
Run Code Online (Sandbox Code Playgroud)

第二个问题是:什么是重写java?它与继承有关吗?我们有以下内容:

public class Vehicle{
  double basePrice = 20000;
  //constructor defined
  public double getPrice(){
     return basePrice;
   }
}

public class Truck extends Vehicle{
  double truckPrice = 14000;
  //constructor defined
  public double getPrice(){
     return truckPrice;
   }
}
Run Code Online (Sandbox Code Playgroud)

所以现在让我说我有以下内容

Truck truck = new Truck();
Run Code Online (Sandbox Code Playgroud)

如果我打电话

truck.super.getPrice()
Run Code Online (Sandbox Code Playgroud)

这将从Vehicle类返回20,000的价格

如果我打电话

truck.getPrice()
Run Code Online (Sandbox Code Playgroud)

这将返回卡车类的价格,14,000

我的知识对两个问题都是正确的吗?

java overloading overwrite

16
推荐指数
2
解决办法
8万
查看次数

当你知道java中的经度和纬度时,计算以米为单位的距离

可能重复:
使用Java中的纬度/经度值

重复:

我需要计算两个坐标给出的两点之间的距离.我正在研究的项目是一个Java项目,所以Java代码会很棒,但也可以给出伪代码,然后我可以自己实现它:)

您可能知道,有三种表示坐标的方法:

  • 度数:分钟:秒(49°30'00"N,123°30'00"W)
  • 度:十进制分钟(49°30.0', - 123°30.0'),(49d30.0m,-123d30.0')
  • 十进制度(49.5000°, - 123.5000°),一般有4-6个十进制数.

这是我的坐标的第三种方式,所以这个值的代码将是首选:)

java distance latitude-longitude

74
推荐指数
2
解决办法
18万
查看次数

有人可以解释LDAP吗?

我经常听到"我们可以使用LDAP加载员工信息吗?" 然而,标题"轻量级目录访问协议"让我认为它是一个协议而不是像Oracle或MSSQL这样的物理数据库管理系统.

那么有人可以向我解释一下LDAP是什么,它是如何使用的,以及它是如何工作的?LDAP只是用于从各种DBMS中提取数据的标准协议吗?在架构图中,LDAP是否只是数据库和应用程序服务器之间的箭头?

database protocols ldap

50
推荐指数
5
解决办法
4万
查看次数

使用jQuery获取已经相互删除的元素的值?

我有以下jQuery:

  $(document).ready(function(){
    $(".element").draggable();
    $(".element").droppable({
      drop: function() { 
        alert('dropped');
      }
    });
  });
Run Code Online (Sandbox Code Playgroud)

任何具有"元素"类的东西都可以被操纵并在页面上拖动.我希望能够找到被拖动的元素的html内容和被删除​​的元素,并在"alert('dropped');"中使用它们.是的,所以我可以这样做:

alert(firstelement+ ' was dropped on ' +secondelement);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

jquery

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

python random.random()导致在自定义模板标记中使用"'模块'对象不可调用"

如果我从命令行启动python并输入:

import random
print "Random: " + str(random.random())
Run Code Online (Sandbox Code Playgroud)

它打印出一个随机数(预期,优秀).

如果我在我的django应用程序的models.py中包含上面两行,并使用runserver启动我的django应用程序,我在命令行上输出显示一个随机数(太棒了!)

如果我采用自定义标签,否则完全正常,但我包括

import random
print "Random: " + str(random.random())
Run Code Online (Sandbox Code Playgroud)

作为自定义标记的.py文件的前两行,每当我尝试打开使用该自定义标记的模板时,我都会收到错误:

TypeError at /help/
'module' object is not callable
Run Code Online (Sandbox Code Playgroud)

请记住,如果我摆脱这两行,我的自定义标记的行为与预期的一样,并且不会抛出任何错误.不幸的是,我需要在模板标签内部进行一些随机行为.

问题是如果在自定义标签中我做:

import random
Run Code Online (Sandbox Code Playgroud)

在自定义模板标签上,它导入

<module 'django.templatetags.random' from '[snip path]'> 
Run Code Online (Sandbox Code Playgroud)

并不是

<module 'random' from 'C:\\Program Files\\Python26\\lib\\random.pyc'>
Run Code Online (Sandbox Code Playgroud)

通常从其他地方进口

Django模板库有一个名为random的过滤器,不知怎样,它优先于系统的随机性.

任何人都可以推荐如何显式导入适当的python随机?

python random django templatetags

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

jQuery事件处理程序不在IE中触发

我有一个页面上的项目列表,其中包含一组MoveUp,MoveDown和Delete控件.

默认情况下,控件位于隐藏列表的顶部.当您将鼠标悬停在项目行上时,我会使用jquery选择控件

//doc ready function:
..
var tools = $('#tools');
$('#moveup').click(MoveUp);
$('#movedn').click(MoveDn);
$('#delete').click(Delete);
..
$('li.item').mouseover(function(){
    $(this).prepend(tools);
});
Run Code Online (Sandbox Code Playgroud)

这在Firefox中运行良好..工具进入当前行,click事件调用ajax函数.但是,在IE6和IE7中没有发生任何点击.我尝试在mouseout上取消绑定并重新绑定每个鼠标悬停..但无济于事.

我还研究了javascript以外的各种原因(例如透明的png冲突,z-index,position:absolute)..也没有找到解决方案.

我最终需要为每个项添加一个工具行,并在鼠标上/下显示/隐藏.同样适用 - 唯一的挫折是我的页面上有更多'工具'标记.

有没有人知道为什么IE移动对象后忽略/丢弃/杀死鼠标事件(使用前置)?为什么事后重新绑定事件也没有效果?在我放弃之前,让我生气了将近2个小时.

javascript jquery javascript-events jquery-1.3

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