0

我是 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>

我的问题:

列:超链接日志:

  1. 我想将它绑定到数据库中名为“Base_Id”的列,但是当我在超链接定义中使用 DataField="Base_Id" 时,它会出错;

  2. 我想将 base_Id 附加到 url 的末尾,以便它给出 navigateurl="http://somelink&RecordId=baseId_value" ;我尝试了 TemplateField,但 Visual Studio 无法识别它。

  3. 对于延迟交货,我需要比较数据并做一些数学运算。有没有办法让我在 default.aspx.cs 中添加一个函数?如果有,有人可以举个例子吗?

任何想法表示赞赏。非常感谢。=)

4

1 回答 1

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;
}

希望这可以帮助!

问候, 乌罗什

于 2013-10-28T18:00:21.890 回答