listview
  • query-string
  • hyperlink
  • 2010-07-09 8 views 0 likes 
    0

    J'ai un contrôle HyperLink dans un ListView et j'ai besoin de transmettre quelques paramètres de chaîne querystring.Définir le paramètre querystring dans le lien hypertexte de selected.item.text dans la liste déroulante

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

    Le premier paramètre est basé sur la valeur DataItem actuelle dans le LV. Supposons que je souhaite définir un deuxième paramètre avec une valeur de Selected.Item.Text dans une DropDownList sur la même page, à quoi ressemblerait HyperLink?

    J'ai passé trop de temps à ce sujet, donc je besoin d'aide ...

    Thnx ...

    +0

    Vous aurez besoin de travailler avec Javascript, car la valeur déroulante ne peut être connue que du côté client. –

    Répondre

    0

    Essayez ceci:

    <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> 
    

    Et ce code derrière:

    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)"; 
         // 
        } 
    } 
    
    Questions connexes