小编Fil*_*lip的帖子

BLAZOR + MVC - 将数据从 Blazor 页面传递到 MVC 控制器

我有 MVC 项目,它使用一些 Blazor 页面。我现在需要的是将数据从 Blazor 页面传递回 MVC 控制器。这可能吗?我的解决方案是将数据写入数据库并在 MVC 中获取它们......但我不喜欢这种方式。有人知道更好的解决方案吗?

谢谢。

asp.net asp.net-mvc asp.net-core blazor blazor-server-side

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

C# - “非空”条件的级联

我想问一下在条件级联的情况下如何改进代码的任何提示,您必须询问属性内部的属性是否不为空。

只是简单的虚拟示例:

public class ClassA
{
    public ClassB classB { get; set; }
}
public class ClassB
{
    public List<ClassC> classesC { get; set; }
}
public class ClassC
{
    public ClassD classD { get; set; }
}
public class ClassD
{
    public string value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后假设您想要获得这样的值: classA.classB.classesC.First().classD.value;

当这些类中的任何一个为空时,是否有任何有效的方法可以做到这一点并确保您不会收到错误?而不是许多条件:

if (classA != null && classA.classB != null && classA.classB.classesC != null && classA.classB.classesC.First() != null && classA.classB.classesC.First().classD != null) return classA.classB.classesC.First().classD.value;
Run Code Online (Sandbox Code Playgroud)

请注意,我不是在寻找使用try块和捕获 NullException 的解决方案。 …

c# optimization multiple-conditions

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

触发特定列发生更改的行

我想在 SQL Server 中找到一种方法,如何更新某些特定属性已更改的行。简单的例子,我想Flag = True在所有行中设置,其中KeyProperty已更改。我创建了 SQL 触发器:

CREATE TRIGGER testTrigger
ON table
AFTER UPDATE
AS
BEGIN
  IF(UPDATE(KeyProperty))
  BEGIN
    UPDATE table
    SET Flag = True
    WHERE EXISTS (SELECT 1 FROM inserted WHERE inserted.Id = table.Id)
  END
END
GO
Run Code Online (Sandbox Code Playgroud)

但从我假设的结果UPDATE(KeyProperty)来看,如果至少有一行,则KeyProperty更新在哪里。所以如果我有初始表:

ID 关键属性 其他财产 旗帜
1 100 红色的 错误的
2 200 蓝色的 错误的
3 300 黑色的 错误的

更新看起来像:

ID 关键属性 其他财产 旗帜
1 1000 红色的 真的
2 200 蓝色的 错误的
3 300 白色的 真的 …

sql t-sql sql-server triggers

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