asp.net – 当绑定值包含冒号时,如何绑定GridView HyperLinkField的URL?
我正在尝试绑定GridView HyperLinkField,以便将绑定列用作URL中的参数值.非常标准的东西 – 没有什么花哨的东西,但是当绑定列包含冒号时绑定失败,即:.我是我的特例,这个值是一个表示持续时间的字符串,例如“14:35”,或“1:07:19”. 这是我的GridView,其时间值绑定到HyperLinkField网址. <asp:GridView ID="ResultsGridView" runat="server" AutoGenerateColumns="False" DataSourceID="ResultsDataSource" EnableModelValidation="True" AllowPaging="True"> <Columns> <asp:BoundField DataField="Year" HeaderText="Year" SortExpression="Year" /> <asp:HyperLinkField DataNavigateUrlFields="RunTime" DataTextField="RunTime" HeaderText="Hyperlink" DataNavigateUrlFormatString="LinkedPage.aspx?param={0}" /> <asp:BoundField DataField="RunTime" HeaderText="Time" SortExpression="RunTime" /> <asp:BoundField DataField="FullName" HeaderText="Name" SortExpression="FullName" ReadOnly="True" /> </Columns> </asp:GridView> 它产生这样的HTML.注意< a>标签没有href属性. <tr> <td>2010</td><td><a>34:58</a></td><td>34:58</td><td>Joe Schmoe</td> </tr><tr> <td>2010</td><td><a>35:30</a></td><td>35:30</td><td>Rod Krueger</td> </tr><tr> <td>2010</td><td><a>35:38</a></td><td>35:38</td><td>Mike Johnson</td> </tr> 但是,如果我将绑定字段从RunTime切换到Year,即切换到值中不包含冒号的列,它将按预期工作.上面的GridView,并更改HyperLinkField的DataNavigateUrlFields属性,如下所示: <asp:HyperLinkField DataNavigateUrlFields="Year" DataTextField="RunTime" HeaderText="Hyperlink" DataNavigateUrlFormatString="LinkedPage.aspx?param={0}" /> 现在HTML输出是正确的,如下所示: <tr> <td>2010</td><td><a href="LinkedPage.aspx?param=2010">34:58</a></td><td>34:58</td><td>Joe Schmoe</td> </tr><tr> <td>2010</td><td><a href="LinkedPage.aspx?param=2010">35:30</a></td><td>35:30</td><td>Rod Krueger</td> </tr><tr> <td>2010</td><td><a href="LinkedPage.aspx?param=2010">35:38</a></td><td>35:38</td><td>Mike Johnson</td> </tr><tr> 所以我的问题的核心是:如何将包含冒号的数据列绑定到HyperLinkField的URL?或者,如果失败,用另一种方法创建相同的绑定超链接? 将数据格式更改为不包括冒号将是最后的手段,因为LinkedPage.aspx需要该格式的参数值,并且已经编写,测试和使用. 解决方法<asp:TemplateField HeaderText="Hyperlink"> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("RunTime",@"LinkedPage.aspx?param={0:hh:mm}") %>' Text='<%# Eval("RunTime",@"{0:hh:mm}") %>'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ie9:调试时出现恼人的弹出:“错误:’__f
- asp.net – 如何在Visual Studio中添加NUnit
- asp.net中的GridView分页问题
- asp.net-mvc – 使用Asp.net MVC 4中的OutputCacheAttribut
- asp.net mvc webapi 实用的接口加密方法示例
- asp.net – 从单独的配置文件中读取设置
- asp.net – Ajax上的Identity Server 3 – 401而不是302
- asp.net-mvc – ASP.NET MVC如何在生产中禁用调试路由/视图
- asp.net – 无法加载文件或程序集System.Web.Http,版本= 5.
- 如何在不使用MembershipProvider的情况下使用ASP.NET登录控
- asp.net – Tridion分析和个性化错误:用户不能为
- ASP.NET性能优化之局部缓存分析
- asp.net – 在网站上放置广告的最佳做法?
- asp.net – 登录后对Membership.GetAllUsers()的
- asp.net-mvc-4 – 如何开发一个ASP.NET Web API接
- asp.net-mvc – RequireHttps导致Amazon Elastic
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与
- 在ASP.NET中使用querystring的最佳做法?
- asp.net-mvc – 有没有办法重命名RequestVerific