asp.net – 如何在gridview中将navigateurl添加到超链接
发布时间:2020-12-30 22:20:39 所属栏目:asp.Net 来源:互联网
导读:我的gridview中的每一行应该有一个按钮/超链接,导航到Page?id = something 然后有一些 javascript捕获重定向并将页面打印为iframe. 这个东西已经可以在行中(但隐藏). 所以我想为每个字段做一些像NavigateUrl =“/ Page.aspx?id =”Id.ToString()的东西,但是
|
我的gridview中的每一行应该有一个按钮/超链接,导航到Page?id = something
<asp:GridView ID="gridleitNidurstada" runat="server" GridLines="None" AllowPaging="True"
CssClass="mGrid" PagerStyle-CssClass="pgr" DataKeyNames="Id" OnRowDataBound="gridLeit_RowDataBound"
AllowSorting="True" SortedAscendingHeaderStyle-CssClass="sortasc-header" SortedDescendingHeaderStyle-CssClass="sortdesc-header"
OnSorting="gridleitNidurstada_Sorting" CurrentSortField="Id" CurrentSortDir="Ascending"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" Visible="false"/>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField HeaderText="Print" Text="Print" **anything here?**/>
</Columns>
<PagerStyle CssClass="pgr"></PagerStyle>
<SortedAscendingHeaderStyle CssClass="sortasc-header"></SortedAscendingHeaderStyle>
<SortedDescendingHeaderStyle CssClass="sortdesc-header"></SortedDescendingHeaderStyle>
</asp:GridView>
绑定是这样的:我可以在那里做吗? IQueryable<model.SomeClass> someClass =
from m in preparePredicate()
select new model.SomeClass
{
Id = m.id,...
};
gridleitNidurstada.DataSource = someClass;
gridleitNidurstada.DataBind();
解决方法您可以使用以下语法:<asp:HyperLinkField DataNavigateUrlFields="col1,col2" DataNavigateUrlFormatString="gotopage.aspx?p1={0}&p2={1}" Text="Print">
更多信息here和here在MSDN上. 编辑: 如果您在创建网格时不知道确切的网址,您将需要做更多的工作. <asp:GridView ID="gridViewTicketsClosed" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" EnableSortingAndPagingCallbacks="False" AutoGenerateColumns="False"
AllowPaging="True" OnRowDataBound="gridViewTicketsClosed_RowDataBound" OnPageIndexChanging="GridViewPageIndexChanging">
<PagerSettings Mode="NextPrevious" NextPageText="Next" PreviousPageText="Previous" />
<Columns>
<asp:BoundField DataField="TicketId" HeaderText="Nr.">
<ItemStyle Width="20px" />
</asp:BoundField>
<asp:BoundField DataField="DateStarted" DataFormatString="{0:dd/MM/yyyy HH:mm}" HeaderText="Date">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="President" HeaderText="President">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="TicketTypeId" HeaderText="TicketType"></asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="lnkActionLog" runat="server" Text="Log"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码背后: protected void gridViewTicketsClosed_RowDataBound(object sender,GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var hyperLink = e.Row.FindControl("lnkActionLog") as HyperLink;
if (hyperLink != null)
hyperLink.NavigateUrl = CreateShowActionLogUrl(e.Row) + "?id="+ DataBinder.Eval(row.DataItem,"TicketId");
}
} (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc-3 – 局部视图中的RenderSection
- 在使用ASP.NET会话时是否可以强制请求并发?
- asp.net文件上传功能(单文件,多文件,自定义生成
- VS 2013 RC中缺少ASP.NET Web窗体脚手架功能
- 认证 – asp.net mvc 3:Page.User.IsInRole(“x
- asp.net字符串分割函数使用方法分享
- asp.net core webapi 服务端配置跨域的实例
- asp.net-mvc – ASP.NET MVC视图模型的最佳做法
- 并行运行ASP.NET Webforms和ASP.NET MVC
- ASP.NET Core使用SkiaSharp实现验证码的示例代码
热点阅读
