asp.net-core - 在提交时从 textarea 值设置 asp-route-content 参数
问题描述
我有一个 razor-pages 按钮 tag-helper 调用一个 asp-page-handler,它有一个 asp-route-content 参数,该参数需要从按钮提交上的 razor 页面视图中的 textarea 控件中获取它的值。如何实现?
Razor 查看部分代码:
<form method="post">
<div class="modal-body">
<textarea id="content" name="content" cols="90" rows="4" placeholder="Comment" required></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" asp-page="/Post" asp-page-handler="ReplyToComment"
asp-route-blogid="@Model.BlogID" asp-route-parentid="@Model.ID"
asp-route-email="@user.Email" asp-route-author="@author"
asp-route-content="" class="btn btn-primary">Save Reply</button>
</div>
</form>
剃刀页面处理程序:
public async Task<IActionResult> OnPostReplyToComment(int blogid,
int parentid, string email, string author, string content)
解决方案
您需要将 textarea 内容绑定到页面上的属性:
[BindProperty]
public string Content { get; set; }
asp-for
并在 textarea 上使用标签助手:
<textarea asp-for="Content" cols="90" rows="4" placeholder="Comment" required></textarea>
或者使用[FromForm]
方法签名中的属性:
public async Task<IActionResult> OnPostReplyToComment(int blogid,
int parentid, string email, string author, [FromForm] string content)
有关更多信息,请参阅有关模型绑定的 MS Docs
推荐阅读
- android - 错误:找不到 com.google.gms:google-services:4.2.0
- flutter - How to test Flutter widgets on different screen sizes?
- excel - 动态标签颜色问题
- asp.net - Linq to sql Query 在 Asp.net mvc Web 应用程序中运行非常缓慢
- c# - 测试 TextBox 是否存在 C# WPF
- xamarin.forms - 对类型“Assembly”的引用声称它在“System.Runtime”中定义,但在 Xamarin UWP 中找不到
- python - 如何存储/缓存类中方法的值,以便以后在同一类的其他方法中使用?
- angular - Angular 7窗口调整大小事件未在服务中运行
- regex - Countif url 匹配正则表达式
- html - 在边框上放置边距 - css