我在创建我想要的 GridView 时遇到问题。
我希望用户进入网站并查看附加到数据库的 GridView。
列是:ID, InsertionTime, Filepath, ProccessedByUser
现在我希望用户单击他/她想要处理的文件路径。当他/她单击文件路径时,我希望他们的用户名(使用内置的 asp 网站身份验证登录)更新(添加)到数据库中。
我的标记是标准的,我不必管理后面的代码。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="ID" DataSourceID="AccessDataSource1"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="starttime" HeaderText="starttime"
SortExpression="starttime" />
<asp:HyperLinkField DataNavigateUrlFields="path" DataTextField="path"
HeaderText="path" />
<asp:BoundField DataField="user" HeaderText="user" SortExpression="user" />
</Columns>
</asp:GridView>
我尝试使用 HyperlinkField 但它似乎不支持 onlick 事件。
有什么建议么?
谢谢。
我假设你正在寻找LinkButton http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton%28v=vs.110%29.aspx控制有一个OnClick
event.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="ID" DataSourceID="AccessDataSource1"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="starttime" HeaderText="starttime"
SortExpression="starttime" />
<asp:TemplateField HeaderText="Path" SortExpression="Filepath">
<ItemTemplate>
<asp:LinkButton ID="LbPath" runat="server"
Text='<%# Eval("Filepath") %>'
CommandName="PathUpdate"
CommandArgument='<%#Bind("path") %>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="user" HeaderText="user" SortExpression="user" />
</Columns>
</asp:GridView>
现在您可以处理LinkButton's
点击事件 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.click.aspx or the GridView's
RowCommand
event.
protected void Gridview1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "PathUpdate")
{
string path= e.CommandArgument.ToString();
// do you what you need to do
}
}
请注意,我用过TemplateField
这是最动态的列类型GridView
因为您可以添加任何您想要的内容,甚至是嵌套的 GridView 或UserControls
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)