【发布时间】:2011-11-11 13:59:09
【问题描述】:
我有一个网格视图,其中一个单选按钮用于选择特定的数据行。单选按钮 onclick 事件是通过 Javascript 完成的。
现在我需要将所选行中的数据保存到某个会话值中,以便在另一个页面中使用。我如何做到这一点?
我没有使用 JQuery 或 Ajax,我的整个编码都是在 ASP.NET 3.5 上完成的
【问题讨论】:
标签: asp.net gridview radio-button
我有一个网格视图,其中一个单选按钮用于选择特定的数据行。单选按钮 onclick 事件是通过 Javascript 完成的。
现在我需要将所选行中的数据保存到某个会话值中,以便在另一个页面中使用。我如何做到这一点?
我没有使用 JQuery 或 Ajax,我的整个编码都是在 ASP.NET 3.5 上完成的
【问题讨论】:
标签: asp.net gridview radio-button
Session ( 'VariableHere' ) = 'Data';
// display variable anywhere on your site
Out ( 'Your variable is ' + Session ( 'VariableHere' ) );
我不明白你为什么在会话中需要它,会话是每个用户的,你可以使用应用程序变量,因为我认为你不需要每个会话。
【讨论】:
博文HERE有这个代码:
【讨论】:
将数据键添加到您的 GridView:
<asp:GridView ID="GridView1" runat="server" DataKeyNames="ItemID" ... >
为您的单选按钮添加一个值(智能感知不支持它,但它就在那里):
<asp:RadioButton ID="RadioButton1" runat="server" onclick="radioClick(this);" Value='<%#Container.ItemIndex%>' />
在您的 JavaScript 方法中:
radioClick = function(radioCtrl){
__doPostBack("<%=GridView1.UniqueID%>", radioCtrl.value);
}
并将 RaisePostBackEvent 方法添加到您的代码后面:
protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument)
{
//call the RaisePostBack event
base.RaisePostBackEvent(source, eventArgument);
if (source is GridView)
{
if (source == GridView1)
{
int itemID = (int)GridView1.DataKeys[Int32.Parse(eventArgument)]["ItemID"];
}
}
}
【讨论】: