在超链接字段 href 中设置下拉列表值

Set dropdownlist value in hyperlinkfield href

我正在使用 asp.net 网络表单并有以下问题。

我有一个 aspx 页面有 asp:DropDownList 和 Gridview 每列有 asp:HyperLinkField。 因此,我想将所选 DropDownList 的值动态地设置为 hyperLinkField 标记,代码位于以下代码的后面或内部。

<asp:HyperLinkField Text="Merge" DataNavigateUrlFields="MemberId" Target="_blank" DataNavigateUrlFormatString='/MergeMember.aspx?memberid={0}&clubid={1}" />

如您所见,我已经在 {0} 中绑定了名为 MemberId 的字段,现在我想在 {1} 中设置下拉列表的选定值。设置 {1} 只是一个演示,用于显示我真正想在哪里设置所选下拉列表的值我还没有实现。

如果可以请指导如何?

如果不可能,请指导我如何使用不同的方法实现这一目标? 提前致谢。

.aspx 页面

<asp:DropDownList ID="ddlTest" runat="server">
</asp:DropDownList>

        <asp:GridView ID="grdTesting" runat="server" AutoGenerateColumns="false" Width="98%">
            <Columns>
                <asp:TemplateField HeaderText="Job Number">
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkTest" runat="server" Text='<% # Bind("Test") %>' ToolTip='<%# Bind("Test") %>'
                            OnClick="lnkTest_Click"></asp:LinkButton>
                        <asp:HiddenField ID="hdnId" runat="server" Value='<% # Bind("Id") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

.aspx.cs

   protected void lnkTest_Click(object sender, EventArgs e)
    {
        GridViewRow gvr = (GridViewRow)((Control)sender).Parent.Parent;
        HiddenField hdnId = (HiddenField)gvr.FindControl("hdnId");
        Response.Redirect("frmTest.aspx?Id=" + Convert.ToString(hdnId.Value) + "&DropDownId=" + ddlTest.SelectedValue, false);
    }

注:-

我认为你必须改变你的逻辑......

在上面的示例中...我将 Gridview 与 Linkbutton 和 Id 绑定

单击 link 按钮,您可以重定向到其他页面(根据您的逻辑..) 发送查询字符串值(Id 和 Dropdownlist 值)

我正在使用 asp.net 和 c# 4.5

获取外部下拉列表值here