Trong bộ điều khiển C#, tôi có một hàm được định nghĩa với tham số tùy chọn được đặt thành mặc định là rỗng (xem ví dụ dưới đây). Lần đầu tiên trang tải, hàm được gọi và bộ lọc được truyền vào như một đối tượng được khởi tạo, mặc dù giá trị mặc định là null. Tôi muốn nó được null lần đầu tiên tải trang. Có cách nào để làm việc này không?Tham số tùy chọn trong C# - Mặc định một lớp do người dùng định nghĩa thành null
public ActionResult MyControllerFunction(CustomFilterModel filter = null)
{
if (filter == null)
doSomething(); // We never make it inside this "if" statement.
// Do other things...
}
Hành động này được giải quyết bằng cách định nghĩa con đường sau:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Project", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Bạn đang gọi nó bằng một cuộc tranh luận? Có thể bạn không gọi nó theo cách cho phép tham số mặc định. – BradleyDotNET
@BradleyDotNET, TimSchemelter, đó là một hành động MVC, phương pháp được gọi bởi khung MVC, không phải bởi mã người dùng –
Định nghĩa tuyến đường của bạn trông như thế nào? – adam0101