我假设在你的 gridview 的某个地方你有这样的东西:
<asp:TemplateField HeaderText="Url">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# Bind("CategoryName") %>'
NavigateUrl='http://businessbazaar.in/BusinessBazaarAspx/Details.aspx?cid=1
&name=<%# Eval("CategoryName") %>' ></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
如果您要将其更改为类似
<asp:TemplateField HeaderText="Url">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# Bind("CategoryName") %>'
NavigateUrl='http://<%# Eval("CategoryName") %>.businessbazaar.in/' >
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
那么这将解决所请求的问题。
然而,这不会处理隐含的问题——即“我如何动态处理子域”——这可能是你的痛苦开始的地方:
为此,您需要设置一个通配符 DNS 条目,然后为 IIS 中的站点设置一个专用 IP 地址,您可以将所有这些请求映射到该地址(看来 IIS 不支持通配符主机标头条目)。
然后,您需要设置类似UrlRewrite IIS 模块或类似模块来处理请求并确定它实际需要发送到您的应用程序以将正确的信息返回给用户。
需要注意的是,大多数 SEO 人员会建议不要将子域用于您网站的永久区域,因为它们的权重低于主域下的页面/文件夹。因此,您最好选择更简单的 URL 选项,例如:(http://businessbazaar.in/steel-bird-fabricators
还要注意更 SEO 友好地使用连字符来分隔单词,而不是下划线或 mashingthemalltogther)。