问题:
home.aspx页面中有如图的gridview控件,
它和数据库关联,通过点击“详细信息”,页面可以转到details.aspx页面 现在我想在点击的同时,传个序号参数给details.aspx页面,该参数用session["squ"]保存,我该怎么写代码!
======================================================================================================
下面是我用request传该参数的代码,但是这样写有个致命问题,所以我想改用session,大侠指教!!! <asp:GridView ID="NewsList" runat="server" AllowSorting="True"
AutoGenerateColumns="false" Height="181px"
onselectedindexchanged="NewsList_SelectedIndexChanged1" Width="680px">
<Columns>
<asp:BoundField DataField="序号" HeaderText="序号" ItemStyle-Width="60px"/>
<asp:BoundField DataField="主题" HeaderText="主题" ItemStyle-Width="300px" />
<asp:BoundField DataField="日期" HeaderText="日期" DataFormatString="{0:yyyy-MM-dd}" ItemStyle-Width="120px" />
<asp:BoundField DataField="关键字" HeaderText="关键字" ItemStyle-Width="100px"/>
------------------------------------------------------------------------------------------------------------- 主要是在这段
<asp:HyperLinkField DataNavigateUrlFields="序号"
DataNavigateUrlFormatString="details.aspx?序号={0}" DataTextFormatString="详细信息"
HeaderText="详细信息" Text="详细信息" ItemStyle-Width="100px"/>
-------------------------------------------------------------------------------------------------------------
</Columns>
<EditRowStyle BorderStyle="Dashed" />
</asp:GridView>
home.aspx页面中有如图的gridview控件,
它和数据库关联,通过点击“详细信息”,页面可以转到details.aspx页面 现在我想在点击的同时,传个序号参数给details.aspx页面,该参数用session["squ"]保存,我该怎么写代码!
======================================================================================================
下面是我用request传该参数的代码,但是这样写有个致命问题,所以我想改用session,大侠指教!!! <asp:GridView ID="NewsList" runat="server" AllowSorting="True"
AutoGenerateColumns="false" Height="181px"
onselectedindexchanged="NewsList_SelectedIndexChanged1" Width="680px">
<Columns>
<asp:BoundField DataField="序号" HeaderText="序号" ItemStyle-Width="60px"/>
<asp:BoundField DataField="主题" HeaderText="主题" ItemStyle-Width="300px" />
<asp:BoundField DataField="日期" HeaderText="日期" DataFormatString="{0:yyyy-MM-dd}" ItemStyle-Width="120px" />
<asp:BoundField DataField="关键字" HeaderText="关键字" ItemStyle-Width="100px"/>
------------------------------------------------------------------------------------------------------------- 主要是在这段
<asp:HyperLinkField DataNavigateUrlFields="序号"
DataNavigateUrlFormatString="details.aspx?序号={0}" DataTextFormatString="详细信息"
HeaderText="详细信息" Text="详细信息" ItemStyle-Width="100px"/>
-------------------------------------------------------------------------------------------------------------
</Columns>
<EditRowStyle BorderStyle="Dashed" />
</asp:GridView>
解决方案 »
- 【急】一个非常棘手的问题:asp.net连接数据库失败
- iframe菜单问题,高手来帮忙啊!!!
- 自定义控件 Controls 问题
- DataGrid点击编辑后的表格的框度问题
- ==========请教高手,来帮帮我啊
- 为什么用DataTable填充DataGrid时会出现乱码?
- http://www.dajijishu.cn这个网站要怎么优化才好
- 从数据库动态显示图像出错如何办,代码如下?说CS1012: 字符文本中字符太多
- asp网站后台如何实现30天试用期限制的设计???
- 一个很怪的问题,请高手指点 object reference not set to a instance of object
- 请问vs2008插入代码段的快捷键是什么?
- Gridview中全选的问题
DataNavigateUrlFormatString="details.aspx?序号={0}" DataTextFormatString="详细信息"
HeaderText="详细信息" Text="详细信息" ItemStyle-Width="100px" CommandArgument='<%# Eval("序号")%>'/>然后在你的GridView的RowCommand事件里先取出CommandArgument的值,然后保存在Session中即可。
Session["squ"] = e.CommandArgument;
搞定!
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HL" runat="server" NavigateUrl='details.aspx?序号='<%#Eval("序号")%>' CommandArgument='<%# Eval("序号")%>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" EditText="详细信息"/>
CommandField --可以获得参数吗?
<ItemTemplate>
<asp:HyperLink ID="tt" NavigateUrl='<%#"details.aspx?序号="+DataBinder.Eval(Container.DataItem,"序号")%>' runat="server"><%# GetCut(Eval("这里显示标题")) %></asp:HyperLink>
</ItemTemplate>
//为防止标题过长
public string GetCut(object obj)
{
string str = obj.ToString();
if (str.Length > 3) //只显示3个字符和一个…,根据你自己的需求改吧
{
return str.Substring(0, 3) + "...";
}
else
{
return str;
}
}
NavigateUrl='<%#Evak("序号","~/details.aspx?squ={0}")%>'>详细信息</asp:HyperLinkField>
<ItemTemplate>
<asp:LinkButton ID="HL" runat="server" PostBackUrl='details.aspx?序号='<%#Eval("序号")%>' CommandArgument='<%# Eval("序号")%>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("序号")%>' OnCommand="LinkButton1_Command"/>
</ItemTemplate>
</asp:TemplateField>在后台添加LinkButton1_Command事件
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
Session["squ"] = e.CommandArgument.ToString();
Response.Redirect("'details.aspx?序号='"+e.CommandArgument.ToString()+"'");
}