小编tva*_*son的帖子

面向对象的最佳实践 - 继承v组合v接口

我想问一个关于如何处理简单的面向对象设计问题的问题.我对自己处理这种情况的最佳方法有一些想法,但我有兴趣听听Stack Overflow社区的一些意见.还赞赏相关在线文章的链接.我正在使用C#,但问题不是语言特定的.

假设我写一个视频商店应用程序,其数据库中有一个Person表,其中PersonId,Name,DateOfBirthAddress领域.它还有一个Staff表,其中包含指向a的链接PersonId,以及一个Customer也链接到的表PersonId.

一个简单的面向对象的方法是说Customer"是一个" Person,因此创建类有点像这样:

class Person {
    public int PersonId { get; set; }
    public string Name { get; set; }
    public DateTime DateOfBirth { get; set; }
    public string Address { get; set; }
}

class Customer : Person {
    public int CustomerId { get; set; }
    public DateTime JoinedDate { get; set; }
}

class Staff …
Run Code Online (Sandbox Code Playgroud)

oop inheritance composition

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

ASP.NET MVC - 将数组对象作为Html.ActionLink(...)中的路由值传递

我有一个返回数组(string [])的方法,我试图将这个字符串数组传递给一个Action Link,这样它就会创建一个类似于的查询字符串:

/Controller/Action?str=val1&str=val2&str=val3...etc
Run Code Online (Sandbox Code Playgroud)

但是当我传递新的{str = GetStringArray()}时,我得到以下网址:

/Controller/Action?str=System.String%5B%5D
Run Code Online (Sandbox Code Playgroud)

所以基本上它采用我的字符串[]并在其上运行.ToString()来获取值.

有任何想法吗?谢谢!

arrays asp.net-mvc routes actionlink

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

如何避免ASP.NET MVC中的HttpRequestValidationException呈现导致异常的相同视图

我只想知道如何验证(或清理)ASP.NET MVC中的用户输入,以便无论提交的值如何都不会抛出HttpRequestValidationException.例如,使用文本输入,如果用户输入<BR/>,将导致异常并显示黄色死亡屏幕.我不希望这样.我想捕获异常并在当前视图中显示一个用户友好的错误,最好是控件加载了相同的值.

我找到了这个http://www.romsteady.net/blog/2007/06/how-to-catch-httprequestvalidationexcep.html,但它对我的目的没用.另外,我发现这个http://msdn.microsoft.com/en-us/library/aa973813.aspx并尝试放入模型绑定器但我无法工作.

.net c# vb.net asp.net asp.net-mvc

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

我将如何开始学习如何在Flex中编程?

任何人都可以指点教授如何进行Flex编程的好书或网站吗?

apache-flex

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

如何获取Web服务中的当前目录

我正在使用System.IO.Directory.GetCurrentDirectory()来获取我的Web服务中的当前目录,但这不会给我当前目录.如何获取Web服务中的当前目录?

谢谢斯图尔特

c# web-services

32
推荐指数
6
解决办法
8万
查看次数

如何在SQL 2005上使用FOR XML PATH时保留&符号(&)

是否有任何技巧可以阻止SQL Server授权像&,<和>这样的字符?我正在尝试在我的XML文件中输出一个URL,但SQL想要用' &amp;'' 替换任何'&'

请执行以下查询:

SELECT 'http://foosite.com/' + RTRIM(li.imageStore)
        + '/ImageStore.dll?id=' + RTRIM(li.imageID)
        + '&raw=1&rev=' + RTRIM(li.imageVersion) AS imageUrl
FROM ListingImages li
FOR XML PATH ('image'), ROOT ('images'), TYPE
Run Code Online (Sandbox Code Playgroud)

我得到的输出是这样的(&s被授权):

<images>
  <image>
    <imageUrl>http://foosite.com/pics4/ImageStore.dll?id=7E92BA08829F6847&amp;raw=1&amp;rev=0</imageUrl>
  </image>
</images>
Run Code Online (Sandbox Code Playgroud)

我想要的是这个(&s没有权利):

<images>
  <image>
    <imageUrl>http://foosite.com/pics4/ImageStore.dll?id=7E92BA08829F6847&raw=1&rev=0</imageUrl>
  </image>
</images>
Run Code Online (Sandbox Code Playgroud)

如何防止SQL服务器将'&'赋值为' &amp;'?

xml sql sql-server-2005

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

在mysql中实现消息队列表的最佳方法是什么

这可能是我第十次实施这样的事情,而且我从未对我提出的解决方案百分百满意.

使用mysql表而不是"正确"的消息传递系统的原因很有吸引力,主要是因为大多数应用程序已经将一些关系数据库用于其他东西(对于我一直在做的大多数事情,它往往是mysql),而很少有应用程序使用消息传递系统.此外 - 关系数据库具有非常强大的ACID属性,而消息传递系统通常没有.

第一个想法是使用:

create table jobs(
  id auto_increment not null primary key,
  message text not null,
  process_id varbinary(255) null default null,
  key jobs_key(process_id) 
);

然后入队看起来像这样:

insert into jobs(message) values('blah blah');

出列似乎是这样的:

begin;
select * from jobs where process_id is null order by id asc limit 1;
update jobs set process_id = ? where id = ?; -- whatever i just got
commit;
-- return (id, message) to application, cleanup after done

表和入队看起来不错,但出队有点困扰我.回滚的可能性有多大?还是被封锁了?我应该用什么键来制作O(1)-ish?

或者,我正在做什么更好的解决方案?

mysql job-queue

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

弹出jQuery UI对话框时,如何防止滚动到页面顶部?

我目前使用jTemplates在客户端上创建一个相当大的表,每一行都有一个按钮,它将打开一个jQuery UI对话框.但是,当我向下滚动页面并单击其中一个按钮时,jQuery对话框将打开,但滚动位置会丢失,页面会跳回到顶部(阻止和实际对话框显示在屏幕上).有谁见过或知道可能导致这个问题的原因?

谢谢.

scroll jquery-ui jtemplate

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

使用Linq在C#中列出操作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;

namespace ConsoleApplication1
{

    public class Class1  
    {
       static void Main(string[] args)
       {
           List<Car> mylist = new List<Car>();
           Car car1;
           Car car2;
           Car car3;

           car1 = new Car()
           {
               make = "Honda",
               id = 1
           };
           car2 = new Car()
           {
               make = "toyota",
               id = 2
           };

           car3 = new Car()
           {
              make = "Honda",
              id = 3,
              color = "red"
           };

           mylist.Add(car1);
           mylist.Add(car2);
           **////mylist.Where(p => p.id == 1).SingleOrDefault() = …
Run Code Online (Sandbox Code Playgroud)

c# linq

28
推荐指数
4
解决办法
6万
查看次数

命名空间,类,对象和实例之间有什么区别?

我正在阅读Heads First C#(它非常有趣且用户友好),但我想知道是否有人有一个有用的比喻来描述名称空间,类,方法,属性等如何"融合在一起"?

类是父类,方法是小孩等,还是更复杂?

一个名字空间可以是一个房子,一个类是一个房间(浴室)和一个方法可以在那个房间里做什么(洗涤等)和属性是做这项活动时可以做的,使用肥皂,热水...

......我会得到我的外套.

c# oop namespaces

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