我正在建设一个网站,我将有一个页面显示的产品图像,产品名称和一个小的产品描述文本从我的sql database。
当我点击产品名称时,我希望能够看到产品的全部细节-我该怎么做?
我并不是要求免费代码或任何我只想被指向正确方向的东西。
此外,当我将新产品添加到数据库产品表时,应该动态添加这些产品页。
发布于 2013-09-16 21:08:48
将产品详细信息放在Panel中,默认情况下将其可见状态设置为false。当用户单击图像/按钮/任何东西时,使用客户端代码显示产品详细信息面板。
下面是一个快速而肮脏的例子:
<script type="text/javascript">
showDetails = function(){
var el = document.getElementById("productDetails");
if (el){
el.style.display = "block";
}
}
</script>
<!-- here is the equivalent of your image -->
<input type="button" value="Show Details" id="btnShowDetails" onclick="showDetails();" />
<!-- here is the equivalent of a panel containing the product details -->
<div id="productDetails" style="display:none;">
This is a cool product!
</div>这里是一个快速的演示程序,您可以看到它的工作原理。显然,您的实现将更加复杂,但这将使您朝着正确的方向前进。祝好运!
发布于 2013-09-16 21:07:59
对于要动态添加的产品页,您可能需要的是一个ASHX处理程序。您可以创建一个.aspx页面,当给定产品接收到参数时,该页面将一般地显示数据。然后,ASHX处理程序的工作方式如下:它获取URL的相关部分,将其解析为参数,将请求转发给给定的页面,传递它提取的参数,最后服务器页面的内容。实际上,这是处理程序提供的功能的一个非常肤浅的外观,但是请看一看它们。
如果希望将产品详细信息显示为用户当前正在浏览的页面的元素,而不是将其重定向到新页面,则可以使用jQuery添加div (您可以将其样式设置为类似于巴龙或任何其他花招)。在这个div中,您可以有一个iframe,或者仅仅是一个panel,您可以动态地输入有关产品的数据。
发布于 2013-09-16 21:13:52
如果我这样做的话,我会在这里路由读取更多内容。
http://msdn.microsoft.com/en-us/library/cc668201.ASPX
反过来看上去就像这样
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteTable.Routes.MapPageRoute("StoreRoute","Products/{ProductNumber}","~/Webpages/BookStore/ViewBookDemo.aspx");
}
int productnumber = Convert.ToInt(Page.RouteData.Values["ProductNumber"]);
if (productnumber != null)
{
if (ProductNumber == 1)
{
Image1.ImageUrl = "~/images/css.jpg";
}
else if (productnumber == 2)
{
Image1.ImageUrl = "~/images/django.jpg";
}
else if (productnumber == 3)
{
Image1.ImageUrl = "~/images/iphone.jpg";
}
else if (productnumber == 4)
{
Image1.ImageUrl = "~/images/Linq.jpg";
}
}
}https://stackoverflow.com/questions/18837245
复制相似问题