asp.net-mvc - 我可以将服务器端事件处理程序添加到 Razorpages 中的链接吗
问题描述
我在 Razorpages 中有一堆链接,用于使用 EF 更改 SQL 条目的状态。
<a>Set status 1</a>
<a>Set status 2</a>
<a>Set status 3</a>
我不想为模型中的每个状态创建一个操作,也不想添加任何路由。单击状态链接时,它应该运行我的 C# 代码并返回到同一页面。
是否可以在不添加页面处理程序的情况下在 razorpages 中触发内联操作?(即向执行内联代码的链接添加服务器端事件处理程序)
解决方案
第一:不,现在有办法做到这一点。但是有解决方法。
如果您不想要多个操作,我建议您使用参数创建一个操作。
如果你真的希望客户端代码改变你的数据库,你必须走 JavaScript 路线并通过 JavaScript 访问你的数据库。
你有:
<a>Set status 1</a>
我建议:
<a href="serverUrl/home/SetStatus?param=1">Set status 1</a>
在您的家庭控制器中,(显然您可以更改控制器)
public ActionResult SetStatus(int param)
{
//do what ever.
return RedirectToAction("OriginalAction");
}
如果您不希望它重定向到操作,那么您将使用 ajax 或其他东西来发布它。我这样做是为了在不改变视图的情况下发回客户的原始纬度和经度。如果你使用一个
<a />
您将要更改 URL,并且必须重定向回原始页面。
推荐阅读
- http - 赛普拉斯已开始在所有 POST 和 PUT XMLHttpRequest 上抛出 417 Expectation Failed 错误
- python - 如何通过将索引作为键来展平包含列表的 dict?
- javascript - 使用 containsIn 解析 JavaScript SDK 订阅
- php - 类哈希不存在 laravel 5.4
- python - 如何 os.chdir(“路径包括非 ascii 字符,如阿拉伯语”)
- kubernetes - 我的 kubernetes 部署无法按预期工作
- excel - 根据最后一个单元格值自动生成 VBA 代码到序列号
- ios - 用于以下要求的应用内购买类型
- java - 如何从 Java 客户端访问托管在 Windows 服务中的 WCF 服务?
- reactjs - 这是我的编辑减速器。它工作正常,但我想使用 object.assign 方法