我开发ASP.Net Core 2.1 RazorPages Web应用程序。我想参数化ASP页面标记帮助器的值。
所以我在cshtml文件中使用以下代码。在文件开头定义了一个del_link
局部变量。此变量后来被用作第二个asp-page
标签助手的参数。
@page
@{
string del_link = "/UnloadDelete";
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<div>
<a asp-page="/UnloadEdit">Details</a>
<a asp-page=@del_link>Delete</a>
</div>
</body>
</html>
ASP.Net Razor生成以下HTML代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<div>
<a href="/UnloadEdit">Details</a>
<a href="">Delete</a>
</div>
</body>
</html>
您可以在HTML代码中看到,asp-page="/UnloadEdit"
正确地呈现为HTML代码,但是asp-page=@del
却正确地呈现为<a href="">
。如何在Razor Pages中将局部变量用于asp-page标签助手?
谢谢。
答案 0 :(得分:0)
您必须将页面名称传递给asp-page
属性。因此,您尝试执行的操作不受支持。如果@del_link
呈现了相对URL,则可以将其传递给href
属性。可能还有其他合适的解决方案,具体取决于您为什么觉得完全需要使用@del_link
。