如何在NavigateURL中引用.Net Web控件的选定值

时间:2014-01-22 18:02:10

标签: asp.net gridview hyperlink navigateurl

我有一个带有GridView的ASP.Net页面。在其中一个GridView单元格中,有一个HyperLink控件,其NavigateURL属性设置如下:

NavigateUrl='<%# "~/telecom/SmartPhoneInventory.aspx?IMEI=" +  Eval("IMEI") %>'

此页面上有一个RadioButtonList(rblDeviceType)(不在GridView中),有四个值。我想在HyperLink的NavigateURL中添加另一个查询字符串,以便:

NavigateUrl='<%# "~/telecom/SmartPhoneInventory.aspx?IMEI=" +  Eval("IMEI") + "&devicetype=" + rblDeviceType.SelectedValue %>'

这当然不是正确的语法。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

试试这个:

html

<a href='<%= string.Format("~/telecom/SmartPhoneInventory.aspx?IMEI={0}&devicetype=", this.someValue, rblDeviceType.SelectedValue) %>'>
        Hello World
    </a>

或在html

<asp:HyperLink runat="server"
        NavigateUrl='' ID="demoLink">
            Hello World
        </asp:HyperLink>

然后在codebehind

demoLink.NavigateUrl= string.Format("~/telecom/SmartPhoneInventory.aspx?IMEI={0}&devicetype=",this.someValue,rblDeviceType.SelectedValue)

关于

'someValue'

您在示例代码中显示为Eval("IMEI"),因为您的代码不是网格的一部分,您需要从控件直接,会话,视图状态或服务器端变量获取此代码。您的代码示例不允许我了解此值的原始来源。

在您的代码中尝试此操作:

public partial class _Default : Page
{
    public string someValue = "Hello World";

使用string.Format<%=代替<%#