你如何写出我试图做的元素的动作
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输出的控制器 有谁知道怎么做
答案 0 :(得分:2)
大括号(@{}
)定义代码块,“output”(在这种情况下只是返回值)将被丢弃。请注意,您必须在该行之后使用分号。
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>
答案 1 :(得分:2)
首先,您不应该使用@ {},此语法用于执行实际上不向渲染视图输出任何内容的代码。
简单写一下
data-yes="@Url.Action(...)"
Razor引擎会知道C#代码在右括号处结束。
您也可以使用Url.RouteUrl:
@Url.RouteUrl(new {controller= "Departments", action = "DeleteAndAppend", id = item.DepartmentId })