小编Sim*_*mon的帖子

ModelState.IsValid返回true,即使必需的字符串为null

情况

我有一个LINQ-TO-SQL模型,其中包含一个包含三列的表.通常的ID(身份,自动生成的),然后类型的INT型的VARCHAR(MAX) .所有列都在数据库中定义为NOT NULL.

WebForms页面上,我声明了一个绑定到项目的DetailsView:

<asp:ValidationSummary runat="server" ShowModelStateErrors="true" />
<asp:DetailsView DataKeyNames="Id" runat="server" ItemType="test.MyTable"
    SelectMethod="..." UpdateMethod="...">
      <Fields>
        <asp:DynamicField DataField="A" />
        <asp:TemplateField>
            <EditItemTemplate>
                <asp:TextBox ID="B" runat="server" TextMode="MultiLine" Columns="80" Rows="8" Text="<%# BindItem.B %>" />
            </EditItemTemplate>
            <ItemTemplate>
                <pre><asp:Label runat="server" Text="<%# Item.B %>"  /></pre>
            </ItemTemplate>
        </asp:TemplateField>
      </Fields>
</asp:DetailsView>
Run Code Online (Sandbox Code Playgroud)

所有这些代码都在ASP.NET 4.5上的Visual Studio 2012中运行.

怎么了

到现在为止还挺好.更新和查看作品.当我输入无效值时,问题就开始了.对字段A使用"" 会在页面顶部显示一条漂亮的错误消息.好极了!但是,当我使用""作为字段B的值时会发生这种情况:

    public void DetailsView_UpdateItem(int id)
    {
      var item = db.MyTable.Where(row => row.Id==id).Single();
      TryUpdateModel(item);
      if …
Run Code Online (Sandbox Code Playgroud)

asp.net webforms model-binding linq-to-sql

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

SAT/CNF优化

问题

我正在研究SAT优化问题的一个特殊子集.对于那些不熟悉SAT和相关主题的人,这里是相关的维基百科文章.

TRUE=(a OR b OR c OR d) AND (a OR f) AND ...
Run Code Online (Sandbox Code Playgroud)

没有NOTs,它是联合正常形式.这很容易解决.但是,我正在尝试最小化真正的赋值数,以使整个语句成立.我找不到解决这个问题的方法.

可能的解决方案

我提出了以下解决方法:

  1. 转换为有向图并搜索最小生成树,仅跨越顶点子集.有Edmond的算法,但它给出了完整图形的MST而不是顶点的子集.
    • 也许有一个版本的Edmond算法可以解决顶点子集的问题?
    • 也许有一种方法可以用原始问题构建一个可以用其他算法解决的图形?
  2. 使用SAT求解器,LIP求解器或穷举搜索.我对这些解决方案不感兴趣,因为我正在尝试将此问题用作讲义材料.

你有什么想法/意见吗?你能想出其他可行的方法吗?

algorithm optimization linear-programming satisfiability

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

调用TimeZone.getAvailableIDs()时出现NullPointerException

我尝试了很多代码的例子

String[] IDs = java.util.TimeZone.getAvailableIDs();
Run Code Online (Sandbox Code Playgroud)

它不起作用.我还尝试了另一个示例代码框架,即这样,它返回:

at sun.util.calendar.ZoneInfoFile.getZoneIDs(ZoneInfoFile.java:785)
at sun.util.calendar.ZoneInfo.getAvailableIDs(ZoneInfo.java:560)
at java.util.TimeZone.getAvailableIDs(TimeZone.java:508)
at TimeZoneDemo.main(uu.java:6)
Run Code Online (Sandbox Code Playgroud)

我还尝试重新安装JRE和JDK,但错误仍然存​​在.那有什么意义呢?当我尝试这样做String[] eg = {"one","two"};时.

java timezone nullpointerexception

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

Caching expensive-to-recompute properties or fields in C# records

I have a C# record like the following, with a property that is expensive to compute:

sealed record MyAwesomeRecord(Dictionary<int, int> SomeDictionary)
{
    public int ExpensiveToComputeProperty => SomeDictionary.Sum(e => e.Value);

    //...
}

var original = new MyAwesomeRecord( new() { [0] = 0 });
var modified = original with { SomeDictionary = new() { [1] = 1 } };
Run Code Online (Sandbox Code Playgroud)

Instead of re-computing the ExpensiveToComputeProperty value on every access, I would like to compute it only once, after "construction". But apparently with C# …

c# record c#-9.0

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

T-SQL中的汉明重量/人口计数

我正在寻找一种计算BINARY(1024)字段的汉明权重/人口计数/“ 1位数”的快速方法。MySQL有一个类似的BIT_COUNT函数。我在T-SQL中找不到类似的功能?

还是建议将二进制数据存储在其他类型的字段中?

如果您不知道我在说什么,这是Wikipedia上有关海明重量的文章

sql sql-server binary hammingweight population

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

Android聊天应用程序笑脸

我正在开发一个聊天应用程序.对于表情符号,我使用了图像按钮.但问题是我不知道如何在聊天消息之后将表情符号插入文本控件,类似于: 在此输入图像描述

如何通过代码完成?请指导我.

controls android chat

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