Как добавить выпадающий список с гиперссылками на сайте Sharepoint 2010 - PullRequest
0 голосов
/ 23 марта 2012

Я разместил раскрывающийся список на своем сайте, но я не знаю, как связать каждый выбор (например, url1, url2 и т. Д.) С новой вкладкой или страницей.

<form>
    <label>
        <u>S</u>earch Engines
    </label>
    <select accesskey="S" onchange="goToPage(this.options(this.selectedIndex).value)">
        <option selected>Please select one</option>
        <option value="http://search.msn.com/">MSN Search</option>
        <option value="http://www.google.com/">Google</option>
        <option value="http://www.search.com/">Search.com</option>
        <option value="http://www.dogpile.com/">Dogpile</option>
    </select>
</form>

Я хочу, чтобы пользователь просто выбрал один вариант, и страница перенаправила его на выбранный им сайт.

Как это можно сделать, пожалуйста?

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Следующий код идеально подходит в соответствии с вашими требованиями

StringBuilder sb = new StringBuilder();
            Label lbl = new Label();
            sb.Append("<select accesskey='S' onchange='if (this.value) window.location.href=this.value'>");
            using (SPSite oSiteCollection = new SPSite(SPContext.Current.Web.Url))
            {
                SPWebCollection collWebsites = oSiteCollection.AllWebs;


                foreach (SPWeb oWebsite in collWebsites)
                {
                    sb.Append("<option value='"+oWebsite.Url+"'>"+oWebsite.Name+"</option>");
                }
            }
            sb.Append("</select>");
            lbl.Text = sb.ToString();
            this.Controls.Add(lbl);

Просто добавьте свою веб-часть и разверните ее .. Бинго:)

0 голосов
/ 26 марта 2012

Пожалуйста, добавьте этот код на свой ascx:

<asp:DropDownList runat="server" ID="ddlSites" AutoPostBack="True" OnTextChanged="SiteSelected" ></asp:DropDownList>

И добавьте этот код в коде:

private void BindSiteDropDown()
        {
            var sites = new Dictionary<string, string>()
                            {
                                {"MSN Search", "http://search.msn.com/"},
                                {"Google", "http://google.com"}
                            };
            ddlSites.Items.Clear();
            foreach (var site in sites)
            {
                ddlSites.Items.Add(new ListItem(site.Key, site.Value));
            }
        }

        protected void SiteSelected(object sender, EventArgs e)
        {
            Page.Response.Redirect(((DropDownList)sender).SelectedValue);
        }

и вызовите метод BindSiteDropDown () при загрузке страницы, например, так:

protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)BindSiteDropDown();
        }
0 голосов
/ 23 марта 2012

Просто сделайте так: -

<select name="siteURL" accesskey="S" onchange="window.open(siteURL.options[selectedIndex].value)">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...