我是asp.net的新手。请帮忙。 我有2个文件。一个default.aspx,一个default.aspx.cs。
在default.aspx中,我有:
<asp:GridView ID="DataGridView" runat="server" AutoGenerateColumns="false" RowStyle-BackColor="#A1DCF2" HeaderStyle-BackColor="#3366FF" HeaderStyle-ForeColor="White">
<rowstyle backcolor="LightCyan" forecolor="Black" font-italic="true"/>
<alternatingrowstyle backcolor="PaleTurquoise" forecolor="Black" font-italic="true"/>
<Columns>
<asp:BoundField ItemStyle-Width="15%" DataField="ID" HeaderText="ID" />
<asp:hyperlinkfield text="Log" navigateurl="http://somelink&RecordId=" target="_blank" ItemStyle-Width="15%" HeaderText="Log" />
<asp:BoundField ItemStyle-Width="15%" HeaderText="Delayed Delivery" />
</Columns>
</asp:GridView>
我的问题:
专栏:超链接日志:
我想将它绑定到数据库中名为“Base_Id”的列,但是当我在超链接定义中使用DataField =“Base_Id”时,它会出错;
我想将base_Id附加到url的末尾,以便它给出navigateurl =“http:// somelink&amp; RecordId = baseId_value”;我尝试过TemplateField,但Visual Studio无法识别它。
对于延迟交付,我需要比较数据并做一些数学运算。有没有办法在default.aspx.cs中添加一个函数?如果有,请有人举个例子吗?
任何想法都表示赞赏。非常感谢。 =)
答案 0 :(得分:3)
转换列
<asp:hyperlinkfield text="Log" navigateurl="http://somelink&RecordId=" target="_blank" ItemStyle-Width="15%" HeaderText="Log" />
到TemplateColumn并执行此操作
<asp:TemplateField HeaderText="Log" ItemStyle-Width="15%">
<ItemTemplate>
<asp:HyperLink runat="server"
NavigateUrl='<%# GetUrl(Eval("Base_Id"))%>'
text="Log"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
和代码隐藏
protected string GetUrl(object id)
{
return "http://somelink&RecordId=" + id;
}
希望这有帮助!
此致 UROS