Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在运行时在asp.NETMVC中创建新的URL视图(如Stackoverflow)?_C#_Asp.net Mvc_Url_View_Runtime - Fatal编程技术网

C# 如何在运行时在asp.NETMVC中创建新的URL视图(如Stackoverflow)?

C# 如何在运行时在asp.NETMVC中创建新的URL视图(如Stackoverflow)?,c#,asp.net-mvc,url,view,runtime,C#,Asp.net Mvc,Url,View,Runtime,在我的新项目中,我需要在asp.net MVC中创建新的静态url视图,其中包含运行时的用户内容 为此,我举了一个例子 因此,当我们问问题时,我们将键入我们的问题,最后点击“发布您的问题”按钮 一旦我们发布了这个问题,一个新的静态URL将与我们的内容一起生成(我不确定他们是否可以通过一些URL路由机制来处理它) 我的问题是: 如何使用asp.net MVC在运行时创建新的静态URL视图(包含内容)? 注意:我考虑过UrlHelper.GenerateUrl,但我不确定这种方法是否正确,我有点担心

在我的新项目中,我需要在asp.net MVC中创建新的静态
url视图
,其中包含运行时的
用户内容

为此,我举了一个例子

因此,当我们问问题时,我们将键入我们的问题,最后点击“发布您的问题”按钮

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

我的问题是:

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


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

基于身份证:

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”对象列表作为模型传递):


StackOverflow在运行时不会创建新的静态内容。这里有一个简单的路由,
/questions/{id}/{slug}
,当请求一个与该路由匹配的URL时,它被定向到某个地方,然后使用从URL获得的
id
和/或
slug
参数尝试在数据库中查找问题。如果没有找到匹配项,则返回404,否则,他们使用此问题对象动态呈现作为响应返回的视图。
<a href="@Url.Action("Full", "Question", new {question.Id})>
       @question.Title</a>