ASP.NetMVCを使用しています。これがCourseという名前のコントローラーからの私のコードスニペットです:
public ActionResult List(int id)
{
var viewmodel.ShowUrl = Url.Action("Show", "Course");
...
}
public ActionResult Show(int id)
{
...
}
viewmodel.ShowUrlは、「id」パラメーターの値が何であれ、それを取得します。したがって、viewmodel.ShowUrlは "/ Course / Show / 151"になります(idの値は151です)。ユーザーの操作に基づいて、クライアントでid部分を設定できるようにしたい。viewmodel.ShowUrlの値を「/Course/Show」にします。
これは私にはバグのようです。Url.Actionにid値を含めるように指示しているのではありません。それはそれ自身でそれをしている。id値を設定したい場合は、次のようにします。
var viewmodel.ShowUrl = Url.Action("Show", "Course", new {id = somevalue});
では、MVCがid値を追加しないようにするにはどうすればよいでしょうか?viewmodel.ShowUrlを"/Course / Show"にハードコーディングできますが、それは厄介な解決策のようです。ありがとう。