我有以下链接:
<Columns>
<asp:TemplateField ItemStyle-Width="10px">
<ItemTemplate>
<a id="btnShowPopup5" runat="server" class="thickbox" href='<%#"PopUpPage.aspx?TCode="+Eval("TaskCode")+"&TransSerial="+Eval("TransSerial")+"&TransYear="+Eval("TransYear")+"&mainCode="+Eval("MainCode")+"&year="+Eval("Year")+"&MCode="+Eval("MainCode")+"&DYear="+Eval("Year")+"&PageNew="+Eval("PageNew")+"&ValuesKey="+Eval("ValuesKey")+"&MailNumber="+Eval("MailNumber")+"&candidate_flag="+Eval("candidate_flag")+"&AR=2"+"&TBiframe=true&height=530&width=750"%>'
<asp:Image ID="Image23" runat="server" ToolTip="Back" ImageUrl="Images/cross.png" /></a>
我想在eval
中的会话变量中设置每个aspx
值,而不是在查询字符串中传递类似的变量。
由于某些原因,我无法在.cs中设置这些会话,因此我必须使用Eval
值设置aspx中的会话,并且href
应该是这样的:
href='<%#"PopUpPage.aspx?TBiframe=true&height=530&width=750"%>'
怎么做?
答案 0 :(得分:4)
在.aspx页面中设置会话变量。像
这样的东西 <%# Session["Session_TaskCode"] = DataBinder.Eval(Container.DataItem, "TaskCode") %>
答案 1 :(得分:1)
您可以在ItemDataBound事件中执行相同操作
<ItemTemplate>
<asp:Label id="lblURL" runat="server" Text="Your Query string comes here"></asp:Label>
</ItemTemplate>
在ItemDataBound事件
上找到此Label控件protected void ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//Set your session here
Label lblURL = (Label)e.Item.FindControl("lblURL");
Session["Session_TaskCode"] = lblURL.Text
}
}
答案 2 :(得分:1)
这个问题将由jquery
解决您的重定向控件
<a id="btnShowPopup5" runat="server" class="thickbox" onClientClick="page_gridview(<%#Eval("TaskCode")%>)" href='Your Redirect URL'/>
将此脚本放在aspx页面
中<script type="text/javascript">
function page_gridview(id) {
$.ajax({
type: "POST",
url: "../test.aspx/assignpage",
data: "{'id':'" + id + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert(data.d);
// AjaxSucceeded(msg);
}
});
return false;
};
</script>
Put this following method in test.aspx.cs
[WebMethod()]
public static bool assignpage(string id)
{
HttpContext.Current.Session["id"] = id;
return true;
}
答案 3 :(得分:0)
编辑以显示会话变量的示例。
代码
protected void Page_Load(object sender, EventArgs e)
{
Session["PopUpPage"] = "PopUpPage.aspx?TBiframe=true&height=530&width=750";
}
<强> ASPX 强>
<a href='<%= Session["PopUpPage"].ToString() %>'>Testing</a>