Asp.net 中继器中用于传递会话变量的链接按钮

Asp.net 中继器中用于传递会话变量的链接按钮,asp.net,Asp.net,我有一个中继器列出了我的自定义数据,现在我想做的是使用asp:linkbutton将变量从一个页面传递到另一个页面。我遇到的问题是,当我调用子程序中的链接按钮时,它不会被识别。我看过,但我认为在这种情况下它不会起作用。这是我的密码: <asp:Repeater ID="rptList" runat="server" EnableViewState="false" DataSourceID="SqlDataSource3"> <ItemTemplate> &

我有一个中继器列出了我的自定义数据,现在我想做的是使用asp:linkbutton将变量从一个页面传递到另一个页面。我遇到的问题是,当我调用子程序中的链接按钮时,它不会被识别。我看过,但我认为在这种情况下它不会起作用。这是我的密码:

    <asp:Repeater ID="rptList" runat="server" EnableViewState="false" DataSourceID="SqlDataSource3">
<ItemTemplate>
    <div>
    <p>
    <b>Title: </b> <asp:LinkButton ID="lbnCookieVar" OnClick="lbnCookieVar_Click" Text='<%# Eval("Job_Title")%>' runat="server" /> <br />
    <b>Status: </b><%# Eval("Status")%><br />
    <b>Department: </b><%# Eval("Department")%><br />
    <b>Date Position Available: </b><%# Eval("Date_Position_Available")%><br />
    </p>
    </div>
</ItemTemplate>
</asp:Repeater>

您需要通过函数的“sender”参数访问linkbutton:

protected void lbnCookieVar_Click(object sender, EventArgs e)
{
    Session["Data"] = (sender as LinkButton).Text;
    Response.Redirect("Application.aspx");
}

您需要通过函数的“sender”参数访问linkbutton:

protected void lbnCookieVar_Click(object sender, EventArgs e)
{
    Session["Data"] = (sender as LinkButton).Text;
    Response.Redirect("Application.aspx");
}

在repeater/listview中使用控件通常会有点奇怪。我认为在你的情况下,你可以做以下几点:

Session["Data"] = ((LinkButton)sender).Text;

在repeater/listview中使用控件通常会有点奇怪。我认为在你的情况下,你可以做以下几点:

Session["Data"] = ((LinkButton)sender).Text;
试试这个,应该可以:

Session["Data"] = (sender as LinkButton).Text;
完整的故事请参见此处:

试试这个,应该可以:

Session["Data"] = (sender as LinkButton).Text;

完整的故事请参见此处:

丑陋,您正在使这种方式变得比您需要的更加困难

为什么不使用中继器的ItemCommand例程来获取这些信息?然后你只需传递你想做什么的CommandArgument

<asp:Repeater ID="rptList" runat="server" EnableViewState="false" 
    DataSourceID="SqlDataSource3" OnItemCommand="rptList_ItemCommand">
<ItemTemplate>
    <div>
    <p>
    <b>Title: </b> <asp:LinkButton ID="lbnCookieVar" CommandText="click" CommandArgument='<%# Eval("Job_Title")%>' Text='<%# Eval("Job_Title")%>' runat="server" /> <br />
    <b>Status: </b><%# Eval("Status")%><br />
    <b>Department: </b><%# Eval("Department")%><br />
    <b>Date Position Available: </b><%# Eval("Date_Position_Available")%><br />
    </p>
    </div>
</ItemTemplate>
</asp:Repeater>

丑陋,你让这条路变得比你需要的更难

为什么不使用中继器的ItemCommand例程来获取这些信息?然后你只需传递你想做什么的CommandArgument

<asp:Repeater ID="rptList" runat="server" EnableViewState="false" 
    DataSourceID="SqlDataSource3" OnItemCommand="rptList_ItemCommand">
<ItemTemplate>
    <div>
    <p>
    <b>Title: </b> <asp:LinkButton ID="lbnCookieVar" CommandText="click" CommandArgument='<%# Eval("Job_Title")%>' Text='<%# Eval("Job_Title")%>' runat="server" /> <br />
    <b>Status: </b><%# Eval("Status")%><br />
    <b>Department: </b><%# Eval("Department")%><br />
    <b>Date Position Available: </b><%# Eval("Date_Position_Available")%><br />
    </p>
    </div>
</ItemTemplate>
</asp:Repeater>

嗨,这就是我如何修复它的

<asp:Repeater ID="rptList" runat="server" EnableViewState="false" DataSourceID="SqlDataSource3">
<ItemTemplate>
    <div>
    <p>
    <b>Title: </b> <a href="CareerSummary.aspx?Job_Title=<%# Eval("Job_Title") %>&num=<%# Eval("num") %>"><%# Eval("Job_Title") %></a><br />
    <b>Status: </b><%# Eval("Status")%><br />
    <b>Department: </b><%# Eval("Department")%><br />
    <b>Date Position Available: </b><%# Eval("Date_Position_Available")%><br />
    </p>
    </div>
</ItemTemplate>
</asp:Repeater>

它必须处于加载状态,此方法才能正常工作

嗨,这就是我修复它的方式

<asp:Repeater ID="rptList" runat="server" EnableViewState="false" DataSourceID="SqlDataSource3">
<ItemTemplate>
    <div>
    <p>
    <b>Title: </b> <a href="CareerSummary.aspx?Job_Title=<%# Eval("Job_Title") %>&num=<%# Eval("num") %>"><%# Eval("Job_Title") %></a><br />
    <b>Status: </b><%# Eval("Status")%><br />
    <b>Department: </b><%# Eval("Department")%><br />
    <b>Date Position Available: </b><%# Eval("Date_Position_Available")%><br />
    </p>
    </div>
</ItemTemplate>
</asp:Repeater>

此方法必须处于加载状态才能正常工作

我尝试了此方法,但在IE9中单击链接按钮时没有发生任何错误,但在clickedI中链接按钮不起任何作用我尝试了此方法,但在IE9中单击链接按钮时没有发生任何错误,但单击EDI时链接按钮不起任何作用浏览器不会像我应该测试的那样重定向到application.aspx。我试过了,但是愚蠢的浏览器不会像我应该测试的那样重定向到application.aspx。链接按钮仍然不会启动。您是否在aspx页面的代码中添加了OnItemCommand=“rptList\u itemcond”?是的。仍然没有火…但是我确实找到了答案,非常感谢您的帮助链接按钮仍然不会火。您是否在aspx页面的代码中添加了OnItemCommand=“rptList_itemcond”?是的。仍然没有火…但是我确实找到了答案,非常感谢你的帮助