好久没有搞ASP.Net了,发现有好多的东西都忘记了,现在在这里记录一下,以后用的时候可以拿出来看看
关于Silverlight的记录现在实在是没有时间了,上个项目刚搞完,这个项目马上就来了,还得天天加班,一点空闲都没有,反正得抽点事件来整理一下
废话不说了,整理一下
首先在GridView中必须加上“选择”的按钮,然后在Page_Load中添加
protected void Page_Load(object sender, EventArgs e)
{
gvTest.SelectedIndexChanged+=new EventHandler(GridView1_SelectedIndexChanged);
}
最后在点击绑定的GridView项的时候就可以触发SelectedIndexChanged事件了。
这里我把“选择”按钮设置成了TemplateField,然后让它的Text绑定Email字段,数据库的其余字段也可以绑定到GridView上,但是在这个程序里我把他们的可见属性都设置成了False。
页面代码:
<body>
<form id="form1" runat="server">
<div style="overflow-y: auto; width: 100%; height: 100%">
<asp:GridView ID="gvTest" runat="server" AutoGenerateColumns="False"
DataKeyNames="UserId" DataSourceID="SqlDataSource1" ShowHeader ="false">
<Columns>
<asp:BoundField DataField="UserId" HeaderText="UserId" InsertVisible="False"
ReadOnly="True" SortExpression="UserId" Visible="False" />
<asp:BoundField DataField="EMail" HeaderText="EMail" SortExpression="EMail"
Visible="False" />
<asp:BoundField DataField="Passwd" HeaderText="Passwd" SortExpression="Passwd"
Visible="False" />
<asp:BoundField DataField="LastLogin" HeaderText="LastLogin"
SortExpression="LastLogin" Visible="False" />
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Select" Text='<%# Bind("EMail", "{0}") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<br />
<asp:Label ID="lblRegionCaption" runat="server" Text="Label"></asp:Label>
<br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:vMessageCenterConnectionString %>"
SelectCommand="SELECT [UserId], [EMail], [Passwd], [LastLogin] FROM [Users]">
</asp:SqlDataSource>
</div>
</form>
在页面中加入了垂直滚动条。
SelectIndexChenged事件的代码:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int index = GridView1.SelectedIndex;
string ID = GridView1.SelectedDataKey.Values["UserId"].ToString();
lblRegionCaption.Text = ID;
GridViewRow row = GridView1.SelectedRow;
}
这里大家可以根据需要,写各自的代码了。