问题列表 - 第21420页

ICollection <T>其中T实现接口

有没有办法做这样的事情?

public interface ISomething
{
}

public class SomethingThatImplementsISomething: ISomething
{
}

public class SomethingElse
{
 public ICollection<ISomething> PropertyName{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我试过了,它一直都失败了.有任何想法吗?

.net c#

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

DataBinding很难过

所以我有这个datagridview链接到绑定到底层数据表的绑定源.问题是我需要手动向datagridview添加行.

这在绑定时无法完成,因此我必须使用数据绑定.

如果我将行添加到基础数据表中,则在保存数据表时,行是重复的,可能是因为绑定源以某种方式获得了副本并将其插入.

将它添加到绑定源是我一直在尝试做但但它不是很有效.

让我解释一下我的设置是什么:

我有一个包含两个表的数据库:CashReceiptTable和CashReceiptItemsTable

CashReceiptItemsTable包含FK到CashReceiptTable.

该表单允许用户添加和修改这两个表.

当用户输入新的cashreceipt时,现金收据的id为-1,cashReceiptitemstable中的FK为-1.保存数据库时,cashReceipt的id已更新,我必须手动更新cashreceiptitem的FK.

以下是问题:

当我尝试在cashreceiteitems绑定源中的多行中更新CashReceiptID(FK)时,第一行被更新,并且消失(因为它被过滤),其他行被删除,我无法再访问它们.

我不知道为什么会这样,我还没有更新过滤器,所以他们应该仍然在那里,但尝试访问它们会抛出RowNotInTableException.

我已经管理了一个工作,它将绑定源中的行复制到内存数组中,删除绑定源中的第一行(所有其他行只是消失),更新行的FK并将它们重新插入绑定源并保存表格.

这没关系,但为什么行会消失?

我还有一个小问题.当CashReceiptsTable为空并且我向其添加新行时,如果我向CashReceiptsItemTable添加多行,则会导致问题.手动将项目添加到绑定源时,添加新行将弹出到上一行并将其推送到数据表.这隐藏了我的FK更新例程,它丢失了,它也将它从DataGridView中删除.

当我将第一行添加到CashReceiptsTable时,它会这样做.为什么会这样做,我该如何解决?

我发布了我的代码,在这里自动填充它:

        private void autopopulate(decimal totalPayment) {
            //remove old rows
            for (int i = 0; i < tblCashReceiptsApplyToBindingSource.List.Count; i++) {
                DataRowView viewRow = tblCashReceiptsApplyToBindingSource.List[i] as DataRowView;
                RentalEaseDataSet.tblCashReceiptsApplyToRow row = viewRow.Row as RentalEaseDataSet.tblCashReceiptsApplyToRow;

                if (row.CashReceiptsID == this.ReceiptID) {
                    tblCashReceiptsApplyToBindingSource.List.Remove(viewRow);
                    i--;
                }
            }

            decimal payment = totalPayment;

            //look for an exact amount
            foreach (DataGridViewRow dueRow in dataViewDueRO.Rows) {
                decimal due = -1 * (Decimal)dueRow.Cells[Due.Index].Value;
                if …
Run Code Online (Sandbox Code Playgroud)

.net c# data-binding datagridview winforms

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

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

将PNG放在PHP中的JPG上

我想在PHP中执行以下操作:

我有两个图像,一个jpg和一个png.我想将jpg的大小调整为与png相同的大小,然后将png置于顶部.PNG具有透明度,所以我想保留它,以便jpg显示在下面.

如果有人能提供帮助那就太棒了!

谢谢

php gd image image-processing

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

为什么不使用位置:固定为"粘性"页脚?

我已经看过Ryan Fait的粘性页脚方法以及此处此处的方法.

为什么这些人制作粘性页脚模板#footer{position:fixed; bottom:0;}就足够了?

编辑:

我将补充说,使用position: fixed;页脚确实打破margin: auto;了(至少)某些浏览器的中心,从而创建了对包装器标签的需求.我上面提到的方法的部分问题是额外的标签,这些标签令人困惑,语法不正确(对于"HTML纯粹主义者")并且它会占用带宽.但是,在我看来,在页脚周围的单个包装器仍然比完整的页面模板更好.而且,"我的"方式仍然更直接,占用更少的带宽.

html css footer sticky-footer

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

仅当文件不存在时才会触发HttpHandler

我正在尝试创建一个HTTP处理程序来处理对文件夹的所有请求,但我只想在请求的文件不存在时触发它(EG:请求来自文件X,如果X存在我想要服务文件,否则处理程序应该处理它).

这些文件只是静态内容,而不是脚本本身,我认为它使它更容易但我似乎无法找到任何可以做到这一点的任何东西......任何人都有任何想法?我认为它可以完成,因为IIS7重写模块可以管理它,但我看不出如何...

编辑只是为了澄清......处理程序是典型的情况,它不是错误处理例程,而是实际提供适当的内容.我只是希望能够将新文件作为单独的东西添加到文件夹中,或者作为处理程序将提供的内容的重载.

c# asp.net iis-7 httphandler

7
推荐指数
2
解决办法
3292
查看次数

在ASP.Net-MVC中的控制器之间传递信息

这是如何在ASP.NET MVC中RedirectToAction的副本,而不会丢失请求数据


嗨,我遇到了一个让我刮伤脑袋的问题.基本上我有一个登录页面Login.aspx,它有用户名和密码字段,以及一个重要的小复选框.登录在AccountController登录方法中处理.目前的代码如下:

[AcceptVerbs(HttpVerbs.Post)]
[SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings",
    Justification = 
        "Needs to take same parameter type as Controller.Redirect()")]
public ActionResult LogOn(string userName, string password, string returnUrl, 
    bool sendStoredInfo)
{
    if (!this.ValidateLogOn(userName, password)) {
        return View();
    }

    this.FormsAuth.SignIn(userName, false);

    if (!String.IsNullOrEmpty(returnUrl)) {
        return Redirect(returnUrl);
    } else {
        return RedirectToAction("Index", "Home");
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,如果该行返回Redirect(returnUrl); 然后它会在另一个控制器OpenIDController中结束,这就是sendStoredInfo bool变得重要的情况.但问题是当我在OpenIDController中时,我没有引用它.如何发送此值?

asp.net-mvc

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

"仅数据"Objective-C对象的更好替代方案?

我经常遇到这样的设计选择并且有点挣扎; 我正在寻找其他一些观点.

我经常想要保留列表,或者传递基本上只是一组值的状态块.值往往是原始类型:浮点数,NSTimeIntervals,CGPoints等.

我的第一个倾向通常是为这些属性集创建C结构,例如

typedef struct _STATE {
    float foo;
    NSTimeInterval elapsed;
    CGPoint point;
} STATE;
Run Code Online (Sandbox Code Playgroud)

等等

但C结构不具有天然可可集合类(发挥很好NSArray,NSSet,NSDictionary),并利用他们的overmany到的状态跟踪的感觉就像很多在运行对我的可可友好代码-其余的粮食我最终并直接管理结构数组,并在消息等中传递结构指针.

另一方面,由于原始性能不一定是关键的,我可以将这些值编码为NSDictionary,将它们全部包装在NSValue或中NSNumber,但结果语法几乎不简洁,有点脆弱,需要运行时的类型和名称正确性插入和查找:

[stateDict setObject:[NSNumber numberWithFloat:foo] forKey:@"bar"];
... 
float something = [[stateDict objectForKey:@"bar"] floatValue];
Run Code Online (Sandbox Code Playgroud)

并且某些类型(如NSTimeInterval)只能与某些(可论证的)hackery一起使用(在这种情况下,类型转换为double).

最后,我可以创建仅限数据的容器对象,包含私有成员数据,只有getter/setter.(这些在Java中被称为"bean".)这些比字典更容易访问,更多Cocoa而不是结构,但对我来说感觉有些过分,特别是如果我只需要它们作为用于状态管理的"内部类"单个对象类型的内部.

如何,伟大的Cocoa编程公众,这样做?

cocoa design-patterns objective-c nsdictionary cocoa-design-patterns

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

如何确定我拥有的SVN存储库的类型?

如何确定给定SVN存储库使用的文件系统类型?我想用svnadmin创建一个新的存储库,但是想确保我使用服务器上已有的其他存储库创建具有一致设置的新存储库.

如果所有其他人都是系统上的FSFS,我不想设置berkley db存储库.

我可以可靠地查看/ repositoryname/db/fs-type吗?

svn berkeley-db fsfs

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

NSDictionary的唯一键和唯一值的替代品?

我正在编写一些Cocoa类来解析MP3文件中的ID3标签.为了使它们尽可能易于使用,我允许选项通过实际的ID3帧ID("TCON","TPE1","TALB"等)或等效的单词/短语("流派","艺术家","专辑"等)

为了存储这些数据,目前我有一个引用类,它返回一个NSDictionary,其中帧id作为键,单词/短语作为对象.由于我需要在两个方向上查找定义,目前我有第二种方法返回字典'切换圆',因此单词/短语是键.

我的问题是,是否有更好的方法来表示这些数据.理想情况下会有类似于NSDictionary的东西,区别在于键和值都必须是唯一的,你可以查找"objectForKey:"和"keyForObject:"

我自己可以为此编写一个类,但是我可能会失去一些效率,如NSDictionary文档中描述的哈希表...而且我宁愿在整个实现中保持类的数量尽可能低.

有任何想法吗?干杯.

cocoa objective-c nsdictionary

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