如何将值从转发器控件传递到另一页,以显示一个特定记录的完整详细信息



这是我在aspx端的代码。我显示了所有记录,但我想单击它并一次查看一条记录。我没有收到任何错误,但当我单击链接时,页面上没有任何显示。

<form id="form1" runat="server">
<div>
<asp:Repeater ID="rptrComments"  runat="server" 
OnItemCommand="rptList_ItemCommand">
<ItemTemplate>
<div id="Container">

<div id="OverveiwWrapper">
<table id="TblOverveiw" style="/*border: 1px solid black;*/ width:165PX;  
height:170PX" >
<tr>
<td id="TdTitle"> <%#Eval("IdeaTitle")%></b></td></tr>
<tr>
<td id="TdStatus"><%#Eval("IdeaDescription")%></td></tr>
<tr>
<td id="TdPrice"><%#Eval("Category")%></td></tr>
<tr>
<td id="TdAddress"><%#Eval("Date")%></td></tr>
</table>
</div>
<div id="DescriptionWrapper">
<p id="PropType">  Property type : <%#Eval("IdeaTitle")%>  </p>
<p id="PropDescription"  ><%#Eval("Category")%></p>
<asp:LinkButton  ID="testing"  runat="server" Text="More Details" 
CommandName="click" CommandArgument='<%#Eval("IdeaTitle")%>' 
Visible="true" ></asp:LinkButton>
<asp:DataList ID="DataList1" runat="server"></asp:DataList>
</div>
</div>
</ItemTemplate>
</asp:Repeater>

这是我试图从链接中获取值并将其发送到另一个页面背后的逻辑的代码。 我没有收到任何错误,但从逻辑上讲它不起作用,因为当我单击进入页面时,什么都没有显示

protected void rptList_ItemCommand(object sender, CommandEventArgs e)
{
if (e.CommandName == "click")
{
Session["Data"] = e.CommandArgument.ToString(); 
Response.Redirect("ViewIdea3.aspx");
}
}

所以你能做的是这个 不要使用带有命令参数的链接按钮,而是使用带有 href 和查询字符串参数的超链接:

<a href='ViewIdea3.aspx?IdeaId=<%#Eval("ID")'>More Details</a>

然后在 ViewIdea3 中.aspx Page_Load事件执行以下操作:

if(!IsPostBack && String.IsNullOrEmpty(Request.Querystring["IdeaId"])) {
//Query database based on IdeaId and once data is fetched populate grid with details
}

相关内容

最新更新