小编Sha*_*ica的帖子

使Linq对象变得"脏"的最简洁方法是什么?

我有一个LINQ到SQL对象obj类型的MyClass,我已经通过我的数据上下文加载.

现在我想强制该对象保存,即使没有实际更改的字段,以便保存操作可以在幕后设置一些触发器.

什么是使我的数据上下文认为obj是脏的最简单方法,以便调用SubmitChanges()将导致obj保存?

c# linq linq-to-sql

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

强制触发`Click` 事件 - 使用反射?

我的表单上有一堆按钮,在我的代码中的某个点我想强制Click触发事件。我可以做这样的事情:

if (myButton == btnFoo)
  btnFoo_Click(this, new EventArgs());
else if (myButton == btnBar)
  btnBar_Click(this, new EventArgs());
else if // blah blah
  ...
Run Code Online (Sandbox Code Playgroud)

显然这并不理想。这看起来像是一个反思的案例,但我找不到正确的方法来做到这一点,例如

var ei = myButton.GetType().GetEvent("Click"); // so far so good;
var mi = ei.GetRaiseMethod(); // always returns null - no good!
Run Code Online (Sandbox Code Playgroud)

GetRaiseMethod 的文档。

那么如何强制点击代码运行呢?

c# winforms

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

如何制作淡入/淡出弹出窗口?

你如何在屏幕的一角弹出一个通知表格,然后逐渐消失,在所有其他应用程序之上,就像他们在MS Outlook中为新电子邮件做的那样,或者IM通知你,你的一个联系人刚刚签名在?C#有什么原生的吗?第三方控制?或者一些开源代码将实现所有奇特的特效?

c# popup fade winforms

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

消失的模态形式之谜

在这个WinForms项目中,我有一个InfoForm弹出2秒的特定信息表单()然后消失.我这样做的方法是打电话

infoForm.Show();
Run Code Online (Sandbox Code Playgroud)

然后在里面,InfoForm我有一个Timer2秒后打勾并打电话Close().

现在,有时还ErrorForm需要另一种形式我需要以模态方式(使用errorForm.ShowDialog())显示,以通知用户发生了错误,并且他们需要先单击"确定"才能继续.这可能发生在InfoForm打开和关闭时,一个不应该影响另一个.

但确实如此.

我已经走了一个断点来调用ShowDialog,如果在InfoForm我点击断点时打开,那么当我点击"Step Over"时,而不是弹出ErrorForm并等待我点击"好了",调试器刚刚跨过该行并且已经在下一行,就好像表单永远不会打开一样.同时在后台InfoForm关闭,所以如果我将执行点重置为调用ErrorForm.ShowDialog(),然后"Step Over",表单会出现预期,并等待我单击"OK"然后再转到下一个语句.

删除断点并写入调试日志证实了我的怀疑,即关闭它InfoForm导致我ErrorForm不合时宜地关闭:

Thread 09 - 2011/12/14 16:39:30.574 - 显示的信息表

Thread 09 - 2011/12/14 16:39:31.300 - 在ErrorForm.ShowDialog之前

Thread 09 - 2011/12/14 16:39:32.584 - Timer Tick

Thread 09 - 2011/12/14 16:39:32.585 - 信息表格结束

Thread 09 - 2011/12/14 16:39:32.593 - 关闭时出错

Thread 09 - 2011/12/14 16:39:32.593 - 在ErrorForm.ShowDialog之后 …

c# winforms

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

样式表防止表cellpadding工作

我正在根据别人的样式表编写一个网页.样式表包括以下内容:

table {
    border-collapse: collapse;
}

th, td {
    padding: 0;
}
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个具有非零单元格填充的表.但我无法覆盖此样式表:

<table cellpadding="10">
  <tr>
    <td padding="10">
      Foo
    </td>
    ...
  ...
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

并没有上述作品; 细胞填充保持紧密零.

如何覆盖样式表(不使用不同的样式表)?

html css

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

如何使用POST重定向ASP.NET MVC?

我正在为网站设置一个付款页面,首先完成一个简单购物车的孩子,然后当用户点击"提交"时,我需要将交易数据发布到外部信用卡处理网站,并将用户重定向到那个网站.一旦他们在那里输入了他们的信用卡详细信息,该网站会重新定向回给我,无论是批准还是拒绝.

麻烦的是,我在MVC界面中看不到任何允许我使用POST动作重定向的内容.该Redirect()方法使用GET(在第三方站点上无论如何都不起作用).我尝试使用一个程序化的帖子WebClient.UploadValues(),然后从一个字符串返回,我可以通过返回给用户呈现Content()- 但是那个表单中的链接(应该是相对于CC处理站点)被解释为相对于我的网站,这对我没有任何流血的用处.

我该怎么做呢?

asp.net-mvc-3

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

修复了一个糟糕的合并

所以我们的团队对Git来说是新手.我们遇到了类似这样的情况,只是更糟糕的情况:开发人员进行了一次糟糕的合并,然后糟糕的合并被埋没在大约20次后续提交中,因为我们只注意到一天后的不良合并.

我们如何解决这个问题?

编辑:看起来git revert -m命令可能是诀窍,但只有一个文件,我们真的需要还原...一个严重损坏的大edmx文件.有什么方法可以将恢复限制为该文件?

git git-merge

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

如何降级SQL 2008 MDF文件以在SQL 2005中使用?

有人发给我一个在SQL 2008中创建的MDF文件.我有SQL 2005,而"Attach"函数拒绝MDF文件.

我该如何导入这个文件?

sql-server sql-server-2005 sql-server-2008

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

如果没有数据上下文,如何保存Linq对象?

我有一个Linq对象,我想对它进行更改并保存它,如下所示:

public void DoSomething(MyClass obj) {
  obj.MyProperty = "Changed!";
  MyDataContext dc = new MyDataContext();
  dc.GetTable<MyClass>().Attach(dc, true); // throws exception
  dc.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)

例外是:

System.InvalidOperationException: An entity can only be attached as modified without original state if it declares a version member or does not have an update check policy.
Run Code Online (Sandbox Code Playgroud)

看起来我有几个选择:

  1. 在我需要以这种方式使用的每个Linq类和表(100+)上放置一个版本成员.
  2. 找到最初创建对象的数据上下文,并使用它来提交更改.
  3. 在每个类中实现OnLoaded并保存此对象的副本,我可以将其传递给Attach()作为基线对象.
  4. 要进行并发检查; 在附加之前加载DB版本并将其用作基线对象(不是!!!)

选项(2)似乎是最优雅的方法,特别是如果我能找到一种在创建对象时存储对数据上下文的引用的方法.但是 - 怎么样?

还有其他想法吗?

编辑

我试图遵循Jason Punyon的建议并在桌面上创建一个并发字段作为测试用例.我在dbml文件中的字段上设置了所有正确的属性(Time Stamp = true等),现在我有一个并发字段......以及一个不同的错误:

System.NotSupportedException: An attempt has been made to Attach or Add an entity that is not new, …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql

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

如何处理用于桌面和Web的库中的静态变量?

我有一些使用静态变量的C#库类.我将这些库类用于桌面和Web应用程序.问题是,正如我刚刚发现的那样,静态变量在Web服务器上不会那么好; 使用网站在所有会话中共享这些值!

如何保留静态变量的功能以便在我的桌面应用程序中使用,同时确保我的Web服务器上的每个会话都有自己的这些变量的独立值 - 但在会话本身内,它仍然真的像静态一样?

c# asp.net static-variables

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