aspx中的超链接列datagrid的URL参数

时间:2011-12-04 13:00:03

标签: asp.net datagrid hyperlink

我的课程ITEM包含IDNamee的公共属性。我正在尝试使用数据网格的超链接url参数选项。

以下是页面的代码。

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="ExamList.aspx.vb" Inherits="Tiko.ExamList" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
        <Columns>
            <asp:BoundField DataField="ID" HeaderText="ID" />
            <asp:HyperLinkField DataNavigateUrlFields="ID" DataTextField="Namee" 
                HeaderText="Namee" NavigateUrl="~/Loggedin/Admin/MakeExam.aspx?exid={0}"
                DataNavigateUrlFormatString="~/Loggedin/Admin/MakeExam.aspx?exid={0}"/>
        </Columns>
    </asp:GridView>
    </form>
</body>
</html>

以下是填写数据的代码。

Public Class ExamList
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'GridView1.DataSource = DataModule.Exams_listall((CType(Session("Login"), TikoClasses.Login)).Inst_ID)
        GridView1.DataSource = DataModule.Exams_listall(0)
        GridView1.DataBind()
    End Sub

End Class

数据是前面提到的ITEMS类的列表。当我运行该页面时,我只看到~/Loggedin/Admin/MakeExam.aspx?exid={0}作为该列中所有行的链接。你能告诉我在这里做了什么错。

感谢。

2 个答案:

答案 0 :(得分:0)

尝试删除NavigateURL,因为我认为它会覆盖您的DataNavigateURLFormatString

答案 1 :(得分:0)

终于工作了。问题是数据ID包含日期格式,因此添加了“:”和“”,因此没有构建网址