在ASP.NET MVC中从数据库动态生成URL?

时间:2012-11-01 20:45:43

标签: c# asp.net asp.net-mvc

欢迎所有开发人员,

我试图找到动态生成URL(PURL)的一些示例。 我见过一个从MySQL数据库生成个性化URL的软件。 唯一的事情是软件使用PHP生成URL,作为.NET开发人员,我不知道php。 我的问题是有没有办法可以从数据库中获取数据并使用特定字段我可以生成实际上并不存储在我的网络空间中的URL。

eeg.
-----database-----

firstname  |  lastname .... 
=========================== 
xyz            abc
pqwert         qweoiuy 
alfa           beta

网址应该像

http://something.com/somepersonal/xyz_abc.aspx

http://something.com/somepersonal/pqwert_qweoiuy.aspx

http://something.com/somepersonal/alfa_beta.aspx

这类似于用户或客户的个性化页面。 我有模板用作背页但不知道如何插入和动态生成URL ..

2 个答案:

答案 0 :(得分:1)

你认为这有点落后。通常,不会通过直接从数据库生成它来执行此操作。您通常会通过将网址批/somepersonal/路由到某个personalpage控件来执行此操作,然后控件会将xyz_abc之后的所有内容视为参数。然后Personalpage将使用该参数来自定义其显示,无论是从数据库还是在任何地方。

因此,澄清一下,您的网址应如下所示:

http://something.com/personal/vish_soni
http://something.com/personal/colonel_gentleman
http://something.com/personal/general_specific

但所有这些都被路由到Personalpagevish_soni然后使用colonel_gentlemangeneral_specific和{{1}}作为参数来查询数据库或执行其他任何需要的操作要做。

Microsoft概述了此模式和路由here

答案 1 :(得分:0)

您可以创建控制器类并调用操作方法。对于您的情况,您只需要发送参数然后查找客户信息以准备内容。

 public class HomeController : Controller
{

    public ActionResult Me(string id)
    {
        ViewBag.Message = "Welcome to ASP.NET MVC! "+id;
        var contentobj = repository.GetUSerContent(id);
        return View("Index",contentobj);
    }
}