ASP.NET 4.0 数据库创建的页面

标签 asp.net database data-driven

我想创建从我的 MS SQL 服务器加载的 ASP.NET 4.0 动态页面。基本上,它是一个包含信息的位置列表。例如:

Location1 would have the page www.site.com/location/location1.aspx
Location44 would have the page www.site.com/location/location44.aspx

我什至不知道从哪里开始,也许 URL 重写?

最佳答案

URL 重写解决的问题与您所描述的不同。

您可以使用 HttpHandler 来处理对路径 location 的请求并解析最后一段以获取您的查找键,然后只需将执行传递给 .aspx。尽管您将执行传递给一般页面,但 URL 将保持输入的状态。

我举个例子。试一试。 here is a sample project

LocationHandler.cs

using System.IO;
using System.Web;

namespace DBHandler
{
    public class LocationHandler : IHttpHandler
    {
        #region IHttpHandler Members

        public void ProcessRequest(HttpContext context)
        {
            HttpRequest request = context.Request;
            string page = Path.GetFileNameWithoutExtension(request.Url.Segments[request.Url.Segments.Length - 1]);

            // for url ~/location/location33.aspx page will be 'location33'

            // do something interesting with page, perhaps 
            context.Server.Execute("~/locations.aspx?locationId=" + context.Server.UrlEncode(page));
        }

        public bool IsReusable
        {
            get { return false; }
        }

        #endregion
    }
}

locations.aspx

<%@ Page Language="C#" %>

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = Request["locationId"];
    }
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>

web.config 摘录

...
<system.web>
  ...
  <httpHandlers>
    <add verb="*" path="location/*.*" type="DBHandler.LocationHandler"/>
  </httpHandlers>
</system.web>
...

关于ASP.NET 4.0 数据库创建的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2837641/

相关文章:

java - Oracle Apex自定义登录页面身份验证

sql - 如何检查 SQL 表行的大小(以 b/kb/mb 为单位)?

java - 昂贵的维护与自动化测试数据

visual-studio-2013 - 用数据文件替换记录值 - 数据驱动测试

c# - 如何正确过滤绑定(bind)到 sqldatasource 的 gridview

c# - 如何从下拉列表框中获取值

c# - Asp.net 控件在回发后不更新

database - Erlang-如何在没有记录的情况下使用Mnesia

c# - 用户IP地址,是否使用代理

.net - 如何使用 CSV 数据源控制数据驱动单元测试中列的类型?