.aspx程序如下:
<asp:repeater id="Repeater" runat="server">
<ItemTemplate>
<TR>
<TD width="20%"><input id="Checkbox1" type=checkbox runat="server" NAME="Repeater" value='<%# DataBinder.Eval(Container.DataItem, "id")%>'></TD>
<TD width="70%"><%# Del_ExtName(DataBinder.Eval(Container.DataItem, "song_name").ToString())%></TD>
<TD width="7%"><A href='http://<%=song_url%><%# DataBinder.Eval(Container.DataItem, "song_name")%>' target=_blank>下载</A></TD>
</TR>
</ItemTemplate>
</asp:repeater>我通过上面程序绑定的值:
<A href='http://<%=song_url%><%# DataBinder.Eval(Container.DataItem, "song_name")%>' target=_blank>下载</A>
当有单击事件(if(this.IsPostBack)==true)发生后<%=song_url%>绑定的值不存在了。
然而<%# DataBinder.Eval(Container.DataItem, "song_name")%>绑定的数据还存在。请教什么方法能使<%=song_url%>一直存在和<%# DataBinder.Eval(Container.DataItem, "song_name")%>一样。
<asp:repeater id="Repeater" runat="server">
<ItemTemplate>
<TR>
<TD width="20%"><input id="Checkbox1" type=checkbox runat="server" NAME="Repeater" value='<%# DataBinder.Eval(Container.DataItem, "id")%>'></TD>
<TD width="70%"><%# Del_ExtName(DataBinder.Eval(Container.DataItem, "song_name").ToString())%></TD>
<TD width="7%"><A href='http://<%=song_url%><%# DataBinder.Eval(Container.DataItem, "song_name")%>' target=_blank>下载</A></TD>
</TR>
</ItemTemplate>
</asp:repeater>我通过上面程序绑定的值:
<A href='http://<%=song_url%><%# DataBinder.Eval(Container.DataItem, "song_name")%>' target=_blank>下载</A>
当有单击事件(if(this.IsPostBack)==true)发生后<%=song_url%>绑定的值不存在了。
然而<%# DataBinder.Eval(Container.DataItem, "song_name")%>绑定的数据还存在。请教什么方法能使<%=song_url%>一直存在和<%# DataBinder.Eval(Container.DataItem, "song_name")%>一样。
怎么使他们的生存期一样。。
使<%=song_url%>和<%# DataBinder.Eval(Container.DataItem, "song_name")%>一样存在。
怎么使他们的生存期一样。。
使<%=song_url%>和<%# DataBinder.Eval(Container.DataItem, "song_name")%>一样存在。
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
拒绝日货。
<%=song_url%>改成<%# DataBinder.Eval(Container.DataItem, "song_url")%>
所以并没有采用<%# DataBinder.Eval(Container.DataItem, "song_url")%>的方式我的song_url在.cs文件中是这样申明的:
public string song_url;
还请CloneCenter(复制中心)兄台给介绍一个办法
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
if(Request.QueryString["Id"] != null && Request.QueryString["Id"].Trim() !="")
{
Id = this.Request.QueryString["Id"].Trim();
BindData(Id);
}
}song_url就是在通过BindData(Id)赋值的。
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
if(Request.QueryString["Id"] != null && Request.QueryString["Id"].Trim() !="")
{
Id = this.Request.QueryString["Id"].Trim();
BindData(Id);
}
}song_url就是在通过BindData(Id)赋值的。
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
if(Request.QueryString["Id"] != null && Request.QueryString["Id"].Trim() !="")
{
Id = this.Request.QueryString["Id"].Trim();
BindData(Id);
}
}
public string custID
{
get
{
return _custID;
}
set
{
_custID = value;
} }song_url就是在通过BindData(Id)赋值给custID的,this.custID = song_url;
但是我的前台的<%# custID%>却得不到什么值。
祥细些
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
if(Request.QueryString["Id"] != null && Request.QueryString["Id"].Trim() !="")
{
Id = this.Request.QueryString["Id"].Trim();
BindData(Id);
}
}
public string custID
{
get
{
return _custID;
}
set
{
_custID = value;
} }song_url就是在通过BindData(Id)赋值给custID的,this.custID = song_url;
但是我的前台的<%# custID%>却得不到什么值。
但是我在BindData(Id)中却能得到结果:
this.custID = song_url;
this.Response.Write(custID);
return;可能是页面需要绑定吧!
this.Page.DataBind();
兄台不要跑题。
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
if(Request.QueryString["Id"] != null && Request.QueryString["Id"].Trim() !="")
{
Id = this.Request.QueryString["Id"].Trim();
BindData(Id);
}
}
public string custID
{
get
{
return _custID;
}
set
{
_custID = value;
} }song_url就是在通过BindData(Id)赋值给custID的,this.custID = song_url;
但是我的前台的<%# custID%>却得不到什么值。
但是我在BindData(Id)中却能得到结果:
this.custID = song_url;
this.Response.Write(custID);
return;可能是页面需要绑定吧!
this.Page.DataBind();
但你又把接收的过程放在if(!this.IsPostBack)里面,导致在页面提交时,该变量没有得到赋值,所以消失了.
你可以这样做
public string song_url;
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
if(Request.QueryString["Id"] != null && Request.QueryString["Id"].Trim() !="")
{
Id = this.Request.QueryString["Id"].Trim();
BindData(Id);
ViewState["song_url"] = song_url;
} }
else
{
if(ViewState["song_url"] != null)
{
song_url = ViewState["song_url"].ToString();
}
}
当第一次取到值的时候,将该值写到viewstate里面,在提交页面的时候,每次均判断该viewstate里面有没有值,如果有,则取值.这样即可实现你的想法.