4

現在ブラウザに表示されているページは次のとおりhttp://localhost:19255/Object/Browse/1です。

このページのリンクは次のように作成されます。@Html.ActionLink("...", "Browse", "Object")

しかし、生成されたリンクは実際には次のとおりです。/Object/Browse/1

何が起こっているのかについての私の理解は、MVC が私のルートに {id} 部分があることを認識しているということです。そのため、現在のページの {id} 部分を含めました。

結構ですが、それなしでリンクを作成するにはどうすればよいですか? 試してみましたがnullnew { id = null }どちらもうまくいきませんでした。

4

2 に答える 2

4

次のいずれも機能しませんが:

@Html.ActionLink("...", "Browse", "Object", null)              // Has no effect
@Html.ActionLink("...", "Browse", "Object", new { id = null }) // Error

以下は問題を解決します。

@Html.ActionLink("...", "Browse", "Object", new { id = "" })   // No ID is passed
于 2012-06-08T21:44:47.860 に答える
0

指定しないため、MVCはモデルからこのIDを直接取得していると思います。これは以前に見たことがありますが、現時点では確認する時間がありません。

そのリンクをレンダリングする前に上書き@Model.Idして、それがどこから来ているのかを確認してください。そうすれば、必要に応じてId値を新しい変数に隠して、@ Model.Id=nullに設定できると思います。一種のハック...もちろん:)

于 2012-06-08T20:29:45.753 に答える