做了个图书网站-----想实现提供下载功能。-在线-高手指教
做了个图书网站-----想实现提供下载功能。好让别人下载来看
/ViewBookComment.aspx?BookID=2
/ViewBookComment.aspx?BookID=3
/ViewBookComment.aspx?BookID=4
/ViewBookComment.aspx?BookID=5
有一个button按钮。别人点击这就可以下载了
但我不知道怎么才能实现BookID变换button的连接也相应的改变。连接地址我准备放在列名为http的表中。表名为book。BookID也是book表中的一列。
希望高手给出个办法
希望大家能讲解详细点。我是一个菜鸟。
------解决方案--------------------根据ID取文件路径?mark
------解决方案--------------------传id----处理页面---取文件---return
------解决方案--------------------上面是说,你把ID和文件路径都保存在数据库,传过来一个参数BookID=2,就根据这个2去找他的路径,然后就可以下载了哈
------解决方案--------------------select http from 表 where BookID=* 然后把你的返回值拿来用.
------解决方案--------------------// .aspx.cs for /ViewBookComment.aspx?BookID=2
string bookId = Request.QueryString[ "BookID "];
if(!String.IsNullOrEmpty(bookId)) thrown new ArgumentException( "参数有误。 ");
string sqlSelect = "SELECT [Http] FROM MyTable WHERE BookID= " + bookId;
// ADO.NET actions
// ...
string url = (string)cmd.ExecuteScalar(); // 由 XXXCommand 执行 sql 查询
//
Response.Redirect(url); // 注意相对路径要对哦
------解决方案--------------------楼上的已经答了,我只有接点分了。谢谢。
其实既然你会根据ID取书的内容了,比如书名什么,那按钮读取下载地址也是一个道理。
其实也不用楼上说的那样,在点击之后才查询http列,可以先查询写到button的onclick事件里
ViewBookComment.aspx上怎么根据id取书名你总知道吧?那把书名的列名改成http,然后就取到了书的下载地址,比如放在变量downloadurl,然后直接在aspx上嵌入:
<input type= "button " onclick= "window.location.href= 'http:// <%=downloadurl%> ' ">
OK,点了按钮就会开始下载了。
当然,如果你的下载是要注册或者付费什么的,那还是用楼上的方式好,先进行权限检查,然后再下载。
------解决方案--------------------是啊,LZ的已经说了,友情UP一下
------解决方案--------------------
n
牛就一饿子
------解决方案--------------------假设页面/ViewBookComment.aspx有一个button1.
C# code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string bookId = string.IsNullOrEmpty(Request.QueryString["bookID"]) ? string.Empty : Request.QueryString["bookID"];
if (string.IsNullOrEmpty(bookId))
{
return;
}
else
{
Button1.PostBackUrl = string.Format("ViewBookComment.aspx?BookID={0}", bookId);
}
}
}