如何在 运行 时间在 asp .net MVC 中创建新的 URL 视图(就像 Stackoverflow 一样)?

How to create new URL views in asp .net MVC at run time(as like Stackoverflow)?

在我的新项目中,我需要创建 新静态 url Views,用户内容位于 asp.net MVC 中的 run time

为此,我以 Whosebug 为例。

在 SO 中,当我们提出问题时,我们将输入我们的问题 here,最后我们选择 "Post your question" 按钮。

一旦我们 post 问题,一个新的静态 URL 将与我们的内容一起生成(我不确定他们是否可以通过某些 url 路由机制处理它)。

我的问题是:

我应该如何使用 asp .net MVC 在运行时创建新的静态 URL 视图(包含内容)?

注意:我考虑过 UrlHelper.GenerateUrl 但我不确定这种方法是否正确,我有点担心如果我们继续向我们的解决方案中添加视图,解决方案的大小有时会大得多time.Is 有没有更好的方法来解决这个问题?

基于ID的基本路由和查询内容:

routes.MapRoute(
            "questionsFull",
            url: "questions/{questionId}/{questionTitleForSeo}",
            defaults: new { controller = "Questions", action = "Full"});

然后在您的控制器中阅读 questionId

的文章
class QuestionController 
{....
    ActonResult(string questionId) { return ArticleById(questionId);}

在 Razor 视图中创建 url(假设您有 question 变量 - 即,如果您将 "Question" 对象的列表作为模型传递):

<a href="@Url.Action("Full", "Question", new {question.Id})>
       @question.Title</a>