1

你如何写出我尝试过的元素的动作

data-yes="@{Url.Action("DeleteAndAppend", "DepartmentsController", new { id = item.DepartmentId });}" but I always getting nothing

并尝试了这个,我没有得到行动或路径的结果

data-yes="@{Html.Action("DeleteAll", new { id = item.DepartmentId });}"

我只想要动作的路径和带有 id 输出的控制器有谁知道该怎么做

4

2 回答 2

2

大括号 ( @{}) 定义了一个代码块,并且“输出”(在这种情况下只是一个返回值)将被丢弃。请注意,您必须在行后使用分号。

相反,我相信你想要:

data-yes="@Url.Action("DeleteAndAppend", "DepartmentsController", new { id = item.DepartmentId })"

是的,它很聪明,可以弄清楚引号属于谁。


@()如果要明确,也可以使用括号:

data-yes="@(Url.Action("DeleteAndAppend", "DepartmentsController", new { id = item.DepartmentId }))"

当您需要将文本放在值之后且之间没有空格时,这特别有用:

<p>This is your @(Model.NumberOfVisits)th visit here!</p>
于 2013-08-15T05:39:53.783 回答
2

首先,您不应该使用@{},此语法用于执行实际上不会向渲染视图输出任何内容的代码。

简单地写

data-yes="@Url.Action(...)"

Razor 引擎将知道 C# 代码以右括号结尾。

你也可以使用 Url.RouteUrl:

@Url.RouteUrl(new {controller= "Departments", action = "DeleteAndAppend", id = item.DepartmentId })
于 2013-08-15T05:40:07.080 回答