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 に答える