映射路由表中的控制器/操作

时间:2018-02-02 12:13:46

标签: asp.net-mvc routing asp.net-mvc-routing

是否有必要将所有控制器/操作映射到应用程序中#include "gui/imgui.h" #include "gui/imgui_impl_glfw_gl3.h" #include <stdio.h> #include <glad/glad.h> // This example is using gl3w to access OpenGL functions (because it is small). You may use glew/glad/glLoadGen/etc. whatever already works for you. #include <GLFW/glfw3.h> static void error_callback(int error, const char* description) { fprintf(stderr, "Error %d: %s\n", error, description); } int main(int, char**) { // Setup window glfwSetErrorCallback(error_callback); if (!glfwInit()) return 1; glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); GLFWwindow* window = glfwCreateWindow(1280, 720, "ImGui OpenGL3 example", NULL, NULL); glfwMakeContextCurrent(window); glfwSwapInterval(1); // Enable vsync glfwInit(); // Setup ImGui binding ImGui_ImplGlfwGL3_Init(window, true); // Setup style //ImGui::StyleColorsDark(); ImGui::StyleColorsClassic(); bool show_demo_window = true; bool show_another_window = false; bool algo = true; ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f); // Main loop while (!glfwWindowShouldClose(window)) { glfwPollEvents(); ImGui_ImplGlfwGL3_NewFrame(); // 1. Show a simple window. // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets automatically appears in a window called "Debug". { static float f = 0.0f; static int counter = 0; ImGui::Text("Hello, world!"); // Display some text (you can use a format string too) ImGui::SliderFloat("float", &f, 0.0f, 1.0f); // Edit 1 float using a slider from 0.0f to 1.0f ImGui::ColorEdit3("COLORINES", (float*)&clear_color); // Edit 3 floats representing a color ImGui::Checkbox("Demo Window", &show_demo_window); // Edit bools storing our windows open/close state ImGui::Checkbox("Booleanooooo", &algo); ImGui::Checkbox("Another Window", &show_another_window); if (ImGui::Button("Button")) // Buttons return true when clicked (NB: most widgets return true when edited/activated) counter++; ImGui::SameLine(); ImGui::Text("counter = %d", counter); ImGui::Text("pues se ve que hay texto: %d", algo); ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate); } { ImGui::Begin("VENTANA WAPA"); ImGui::Text("POS SA QUEDAO BUENA VENTANA"); static float yee = 0.0f; ImGui::SliderFloat("lel", &yee,1.0f,0.5f); ImGui::End(); } // 2. Show another simple window. In most cases you will use an explicit Begin/End pair to name your windows. if (show_another_window) { ImGui::Begin("Another Window", &show_another_window); ImGui::Text("Hello from another window!"); if (ImGui::Button("Close Me")) show_another_window = false; ImGui::End(); } // 3. Show the ImGui demo window. Most of the sample code is in ImGui::ShowDemoWindow(). Read its code to learn more about Dear ImGui! if (show_demo_window) { ImGui::SetNextWindowPos(ImVec2(650, 20), ImGuiCond_FirstUseEver); // Normally user code doesn't need/want to call this because positions are saved in .ini file anyway. Here we just want to make the demo initial state a bit more friendly! ImGui::ShowDemoWindow(&show_demo_window); } // Rendering int display_w, display_h; glfwGetFramebufferSize(window, &display_w, &display_h); glViewport(0, 0, display_w, display_h); glClearColor(clear_color.x, clear_color.y, clear_color.z, clear_color.w); glClear(GL_COLOR_BUFFER_BIT); ImGui::Render(); glfwSwapBuffers(window); } // Cleanup //ImGui_ImplGlfwGL3_Shutdown(); glfwTerminate(); return 0; } 函数中的路由表?

如果不是这样,那么他们如何添加到路线表?

1 个答案:

答案 0 :(得分:0)

使用默认的基于约定的路由将涵盖许多情况下的基本路由,特别是那些不太关注URL的情况。由于路由表中只有一条路由,因此这是性能最佳的选项,对于添加到项目中的任何控制器或操作,它都会自动“正常工作”。

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

通常,除了使用MapRoute方法或[Route]属性静态添加URL之外,这意味着它们被编译到应用程序中,并且无法在运行时更改。这使得路由可测试,因此可以在发布之前验证配置。

但是,如果目标是制作某种CMS,其中应用程序可以控制URL,并且您希望它们在您向数据库添加记录时自动“生成”,您可以extend RouteBase来处理(以及几乎任何其他)路由方案。