为 属性 动态赋值
Dynamically assign value to a Property
我很难理解动态地为 属性 赋值,这意味着在 运行 时间内,我可以 retrieve/display 在剃刀页面中赋值。我有以下编程逻辑来完成我的任务,但是这个 (LmitedWords) 属性 不会呈现或保留任何要显示的值。如何在 运行 时间内为此 属性 赋值。
public class Post
{
public string Content { get; set; }
[NotMapped]
public string LimitedWords { get; set; }
}
我的控制器代码如下:-
public async Task<IActionResult> GetAllPosts()
{
var myLimitProperty = new Post();
var result = await _repository.GetAllPosts();
foreach (var post in result)
{
var limitContent = ContentExtension.ReturnLimitedDescription(post.Content, size);
myLimitProperty.LimitedWords = limitContent;
}
return View(result);
}
我的 contentextension 辅助方法 returns 值符合预期,并且在调试期间它确实显示局部变量 "limitContent" 具有该值,但它以某种方式没有将其分配给 LimitedWords 属性,这是 Post class 中的 属性。
在我的 Post class 中还有其他属性,我希望它们在保存在数据库中时显示。
我的 Razor 页面不显示内容,因为它是空的:
<div>
<markdown markdown="@Model.LimitedWords">
</div>
谢谢!
好吧,根据您发布的内容,result
包含存储库 return 编辑的帖子。
您循环浏览这些帖子,更新操作中的 myLimitProperty
局部变量和 return 原始集合。
发送到视图的对象实际上没有任何更新
从列表中创建投影,填充应在视图中显示的所需属性。
public async Task<IActionResult> GetAllPosts() {
var posts = await _repository.GetAllPosts();
var result = posts.Select(post => {
var limitContent = ContentExtension.ReturnLimitedDescription(post.Content, size);
var model = new Post() {
Content = post.Content;
LimitedWords = limitContent;
};
return model;
}).ToList();
return View(result);
}
我很难理解动态地为 属性 赋值,这意味着在 运行 时间内,我可以 retrieve/display 在剃刀页面中赋值。我有以下编程逻辑来完成我的任务,但是这个 (LmitedWords) 属性 不会呈现或保留任何要显示的值。如何在 运行 时间内为此 属性 赋值。
public class Post
{
public string Content { get; set; }
[NotMapped]
public string LimitedWords { get; set; }
}
我的控制器代码如下:-
public async Task<IActionResult> GetAllPosts()
{
var myLimitProperty = new Post();
var result = await _repository.GetAllPosts();
foreach (var post in result)
{
var limitContent = ContentExtension.ReturnLimitedDescription(post.Content, size);
myLimitProperty.LimitedWords = limitContent;
}
return View(result);
}
我的 contentextension 辅助方法 returns 值符合预期,并且在调试期间它确实显示局部变量 "limitContent" 具有该值,但它以某种方式没有将其分配给 LimitedWords 属性,这是 Post class 中的 属性。
在我的 Post class 中还有其他属性,我希望它们在保存在数据库中时显示。
我的 Razor 页面不显示内容,因为它是空的:
<div>
<markdown markdown="@Model.LimitedWords">
</div>
谢谢!
好吧,根据您发布的内容,result
包含存储库 return 编辑的帖子。
您循环浏览这些帖子,更新操作中的 myLimitProperty
局部变量和 return 原始集合。
发送到视图的对象实际上没有任何更新
从列表中创建投影,填充应在视图中显示的所需属性。
public async Task<IActionResult> GetAllPosts() {
var posts = await _repository.GetAllPosts();
var result = posts.Select(post => {
var limitContent = ContentExtension.ReturnLimitedDescription(post.Content, size);
var model = new Post() {
Content = post.Content;
LimitedWords = limitContent;
};
return model;
}).ToList();
return View(result);
}