我一直致力于一个小型学校项目,并决定第一次使用 .net 核心 (MVC)。我有一个小按钮,我可以单击它在后台执行“ipconfig”命令并在文本区域中显示输出。起初我的团队合作伙伴只使用了一个
public string Result;
在 View 的 ViewModel 中。在 View 中它显示为
<textarea asp-for="Result"></textarea>
所以我决定把它做成一个默认get和set的属性:
public string Result { get; set; }
但是当我这样做时,如果我在 View 中保持与我的团队成员使用字段而不是属性时相同的方法,则输出不会显示在文本区域中。相反,我必须这样做才能让它显示在文本区域中:
<textarea>@Model.Result</textarea>
现在我问自己为什么会这样。我不能用 asp-for 显示属性吗?将字段或属性用作结果会更好吗?
非常感谢!
最佳答案
在我的例子中,发生这种行为是因为我的 textarea 上没有单独的结束标记。我知道你上面的例子在使用 asp-for
方法时有它,但如果是复制/粘贴错误,你可能想再看一遍。
<textarea asp-for="Message" type="text" class="form-control" rows="5" id="MessageInputField" autofocus></textarea>
相对于:
<textarea asp-for="Message" type="text" class="form-control" rows="5" id="MessageInputField" autofocus />
在我看来,这是非常烦人的“陷阱”之类的行为。也许如果有人想告诉我为什么不是,那么请赐教,我总是愿意学习。
关于c# - textarea asp-for 不显示属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50717292/