我有 MVC 项目,它使用一些 Blazor 页面。我现在需要的是将数据从 Blazor 页面传递回 MVC 控制器。这可能吗?我的解决方案是将数据写入数据库并在 MVC 中获取它们......但我不喜欢这种方式。有人知道更好的解决方案吗?
谢谢。
我想问一下在条件级联的情况下如何改进代码的任何提示,您必须询问属性内部的属性是否不为空。
只是简单的虚拟示例:
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 的解决方案。 …
我想在 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 | 白色的 | 真的 … |
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
blazor ×1
c# ×1
optimization ×1
sql ×1
sql-server ×1
t-sql ×1
triggers ×1