在我看来,似乎有很多事情在继续,每个人都跳上了MVC的潮流.几乎每个人都在宣称WebForms是邪恶的,没有太多说服力的撒旦.然后他们继续说控件是邪恶的,他们不应该在Web应用程序中.你如何在没有任何控制的情况下展示任何东西?
我记得当WebForms第一次出现并且每个人都喜欢它们时.我想在几年后,人们会接下来的事情,并宣布MVC邪恶,因为你必须实际创建控件来使用MVC,他们会说你必须开发一个应用程序而不用担心控件.
我认为MVC的方式可以通过在Form标签中不包含RunAt来实现.然后,如果要检索数据,只需使用Ajax.
有人能说服我为什么要使用MVC而不是WebForms?
我必须忘记,因为我的单元测试失败,因为以下代码抛出了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.
我刚刚开始研究一个使用Mercurial作为版本控制系统的项目,我需要一些关于如何使用它的基本技巧.请使用此问题提供有关此技术的一些介绍性提示.
特别是,我正在寻找有关最佳程序使用和最佳技术的提示(分支机构,进出检查等等.我需要学习最佳实践!)
我想向 VBA ListBox 添加水平滚动条。
看来内置的ListBox不会自动添加水平滚动条。我有许多字段,其内容超出了列表框的宽度,因此用户无法读取。
我找到了这篇文章,但是由于访问 ListBox 的 hwnd(这在 VBA 中显然不可用),代码失败了。我宁愿不编写本机 DLL 来完成此任务,因为我怀疑有更好的方法。
关于如何向 VBA ListBox 添加水平滚动条的任何想法?
我愿意接受使用替代控件的想法,而不是让它专门与 ListBox 一起使用。
嗨,我只是想确保我有正确的这些概念.在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中的纬度/经度值
我需要计算两个坐标给出的两点之间的距离.我正在研究的项目是一个Java项目,所以Java代码会很棒,但也可以给出伪代码,然后我可以自己实现它:)
您可能知道,有三种表示坐标的方法:
这是我的坐标的第三种方式,所以这个值的代码将是首选:)
我经常听到"我们可以使用LDAP加载员工信息吗?" 然而,标题"轻量级目录访问协议"让我认为它是一个协议而不是像Oracle或MSSQL这样的物理数据库管理系统.
那么有人可以向我解释一下LDAP是什么,它是如何使用的,以及它是如何工作的?LDAP只是用于从各种DBMS中提取数据的标准协议吗?在架构图中,LDAP是否只是数据库和应用程序服务器之间的箭头?
我有以下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)
有任何想法吗?
如果我从命令行启动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随机?
我有一个页面上的项目列表,其中包含一组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个小时.
java ×2
jquery ×2
asp.net-mvc ×1
c# ×1
database ×1
distance ×1
django ×1
dvcs ×1
javascript ×1
jquery-1.3 ×1
ldap ×1
mercurial ×1
nunit ×1
overloading ×1
overwrite ×1
protocols ×1
python ×1
random ×1
templatetags ×1
vba ×1
webforms ×1