Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将用户重定向到具有超链接的其他页面_C#_Asp.net_.net_Hyperlink - Fatal编程技术网

C# 无法将用户重定向到具有超链接的其他页面

C# 无法将用户重定向到具有超链接的其他页面,c#,asp.net,.net,hyperlink,C#,Asp.net,.net,Hyperlink,我有一个要求,用户通过使用下面的超链接控件重定向到youtube.com 我想使用下面的代码根据下拉列表中的选定项动态更改URL protected void ddlPType_SelectedIndexChanged(object sender, EventArgs e) { int x = ddlPType.SelectedIndex; if (x == 0) { activateCerts.NavigateUrl = "http://www.you

我有一个要求,用户通过使用下面的超链接控件重定向到youtube.com

我想使用下面的代码根据下拉列表中的选定项动态更改URL

protected void ddlPType_SelectedIndexChanged(object sender, EventArgs e)
{
    int x = ddlPType.SelectedIndex;

    if (x == 0)
    {
        activateCerts.NavigateUrl = "http://www.youtube.com/watch?v=3AYoipyqOkQ";
        activateCerts.Text = "activateCerts";
        activateCerts.Target = "_blank";
        //activateCerts.HRef = "http://www.youtube.com/watch?v=3AYoipyqOkQ";

    }
    else if (x == 1)
    {
        //activateCerts.Target = "_blank";
        //activateCerts.HRef = "http://www.youtube.com/watch?v=hk3hxUuwg0w";
        activateCerts.Text = "activateCerts";
        activateCerts.NavigateUrl = "http://www.youtube.com/watch?v=3AYoipyqOkQ";

    }
这是一个aspx代码

<asp:Label runat="server" style="padding-left:23rem;" Text="pls watch this video on How to"></asp:Label>
                <asp:HyperLink ID="activateCerts"  runat="server"></asp:HyperLink>


但当我点击链接时,我无法打开youtube视频

这对我来说是有效的,为dropdpwn设置
AutoPostBack=true
ddlPType

<form id="form1" runat="server">
<div>
    <asp:DropDownList runat="server" ID="ddlPType" AutoPostBack="true" OnSelectedIndexChanged="ddlPType_SelectedIndexChanged">
        <asp:ListItem Text="Option 1"  Selected="True" />
        <asp:ListItem Text="Option 2" />
    </asp:DropDownList>
<br />
    <asp:Label ID="Label1" runat="server" style="padding-left:23rem;" Text="pls watch this video on How to"></asp:Label>
            <asp:HyperLink ID="activateCerts"  runat="server"></asp:HyperLink>
</div>
</form>

对于名为ddlPType的Dropdownlist,需要确保其自动回发为true。可以在“属性”面板中进行设置,也可以使用以下代码进行设置:

<asp:DropDownList runat="server" ID="ddlPType" AutoPostBack="true" OnSelectedIndexChanged="ddlPType_SelectedIndexChanged">

通过这一步,你应该达到你的目标,但有时这并不是那么简单。您可能需要确保将数据绑定(如果有)放在页面加载的if(!Page.IsPostBack)中

此外,Dropdownlist仅在数据更改时发送数据。也就是说,如果您得到两个共享相同值的选项,Dropdownlist可能不会响应您。例如:

if(!IsPostBack) 
{ 
    for(int i=0;i<10;i++)this.DropDownList1.Items.Add(new ListItem(i.ToString(),"same_value")); 
}
if(!IsPostBack)
{ 

对于(int i=0;iCheck
AutoPostBack=true
for dropdpwn
ddlPType
checked auto postback是true,我通过将此检查放在PageLoad上解决了问题如果这对您有帮助,您可以接受下面的答案。 if (!Page.IsPostBack)
if(!IsPostBack) 
{ 
    for(int i=0;i<10;i++)this.DropDownList1.Items.Add(new ListItem(i.ToString(),"same_value")); 
}
<base target=_self></base>