2010-07-09 46 views
0

我在ListView中有一個HyperLink控件,我需要傳遞幾個查詢字符串參數。在dropdownlist中的selected.item.text的超鏈接中設置查詢字符串參數

<asp:HyperLink ID="HyperLink" runat="server" NavigateUrl='<%# string.Format("Page.aspx?Param1={0}", Server.UrlEncode(Container.DataItem.ToString())) %>' 
Text='<%# Container.DataItem %>' /> 

第一個參數基於LV中當前的DataItem值。

假設我想在同一頁的DropDownList中使用Selected.Item.Text中的值設置第二個參數,HyperLink的外觀如何?

我花在這個太多的時間,所以我需要一些幫助......

日Thnx ...

+0

您需要使用Javascript,因爲您的下拉值只能在客戶端知道。 – 2010-07-09 21:49:33

回答

0

試試這個:

<form id="form1" runat="server"> 
    <asp:DropDownList runat="server" ID="DropDownList"> 
     <asp:ListItem Text="1" Value="1" /> 
     <asp:ListItem Text="2" Value="2" /> 
     <asp:ListItem Text="3" Value="3" /> 
    </asp:DropDownList> 
    <asp:GridView runat="server" ID="sample" AutoGenerateColumns="true"> 
     <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:HyperLink ID="HyperLink" runat="server" 
         OnDataBinding="HyperLink_DataBinding" 
         NavigateUrl='<%# String.Format(
          "Default.aspx?Param1={0}", 
          Server.UrlEncode(Container.DataItem.ToString())) %>' 
         Text='<%# Container.DataItem %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 
</form> 

而這後面的代碼:

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      sample.DataSource = new string[] { "A", "B", "C" }; 
      sample.DataBind(); 
     } 
    } 

    protected void HyperLink_DataBinding(object sender, EventArgs e) 
    { 
     ((HyperLink)sender).Attributes["onclick"] = 
      "alert(this.href + '&Param2='+ " + DropDownList.ClientID + ".value)"; 
     // 
    } 
} 
相關問題