我尝试从数据库中添加stockName
中gridview
的超链接。我设法使超链接仅指向单个页面。如何为不同的stockname添加不同的url超链接?
我想为第一个股票名称添加的网址是gentingdisplay.aspx
,第二个是pangkordisplay.aspx
,第三个是langkawidisplay.aspx
,依此类推。
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataSourceID="SqlDataSource2" ForeColor="#333333"
GridLines="None">
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:BoundField DataField="StockID" HeaderText="Stock ID"
SortExpression="StockID" />
<asp:HyperLinkField
DataNavigateUrlFields="StockName"
DataNavigateUrlFormatString="gentingdisplay.aspx?StockID=0"
HeaderText="Stock Name"
SortExpression="StockName"
DataTextField="StockName" />
<asp:BoundField DataField="StockPrice" HeaderText="Stock Price"
SortExpression="StockPrice" />
<asp:BoundField DataField="UnitAvailable" HeaderText="Unit Available"
SortExpression="UnitAvailable" />
答案 0 :(得分:0)
正如DataNavigateUrlFields的文档所述,您可以提供逗号分隔的字段列表,以便在DataNavigateUrlFormatString中使用。
因此,如果我理解正确并且您希望StockName
构成超链接路径的一部分并在StockID查询字符串中传递StockID
,则可以在HyperLinkField
中使用此功能:
<asp:HyperLinkField
DataNavigateUrlFields="StockName,StockID"
DataNavigateUrlFormatString="{0}display.aspx?StockID={1}"
HeaderText="Stock Name"
SortExpression="StockName"
DataTextField="StockName" />
此处{0}
使用标准String.Format
语法映射到StockName
和{1}
映射到StockID
。
答案 1 :(得分:0)
你可能想要
<asp:HyperLinkField DataNavigateUrlFields="StockName"
DataNavigateUrlFormatString="{0}display.aspx"
HeaderText="Link"
SortExpression="StockName"
DataTextField="StockName" />
但是,我认为使用以这种方式设计的网页整理您的网站可能是不好的做法 - 可能很难维护。