2013-08-06 2 views
0

Я пытаюсь создать простой локатор хранилища на странице ASP.NET. У меня есть пользователь, который вводит свой zipcode, тогда C# создает с ним переменную и добавляет ее в конец URL-адреса для поиска этого хранилища на картах Google рядом с ними. Затем я нуждаюсь в нем для динамического добавления тега iframe с его источником в качестве этого URL-адреса на страницу.Динамическое добавление HTML на страницу ASP.NET с C#

Что-то вроде:

<asp:TextBox ID="TextBox1" placeholder="Zip code" runat="server"></asp:TextBox> 
<asp:Button ID="Button1" runat="server" Text="Find locations" onclick="Button1_Click" /> 

И:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    var zipCode = TextBox1.Text; 

    HtmlGenericControl iframe = new HtmlGenericControl(); 
    iframe.ID = "iframe"; 
    iframe.TagName = "iframe"; 
    iframe.Attributes["class"] = "container"; 
    iframe.Attributes["src"] = "https://www.google.com/maps/preview#!q=gnc+near%3A+" + zipCode; 
    this.Add(iframe); 

} 

Я считаю, что это не правильно до последней строки, любые мысли?

+1

Вы можете добавить его контроль Iframe в 'управления Placeholder'. Это также однострочный с jQuery и не требует обратной передачи, если у вас есть этот параметр. –

+1

Почему бы просто не поместить его в div, а затем отобразить div вместо того, чтобы пытаться добавить iframe на страницу? –

+0

Мы делаем, как это делается с помощью jQuery? – Blake

ответ

2

Вы можете добавить runat="server" в любой стандартный HTML-тег на странице в веб-формах ASP.NET. Попробуйте это на вашей странице:

<iframe id="MyIframe" runat="server"></iframe> 

Это даст вам доступ к вашему iframe по имени в коде позади. Вы тогда будете в состоянии манипулировать вещами, написав заявления, как:

MyIframe.Visible = true; 

и

MyIframe.Attributes.Add("src", "https://www.google.com/maps/preview#!q=gnc+near%3A+" + zipcode); 
+0

Это похоже на отличное решение! Я попробовал, но он говорит, что мой iframe - это поле, но оно используется как тип. Я делаю что-то неправильно? – Blake

+0

К сожалению, мой плохой, был дополнительный кронштейн. – Blake

+0

Прохладный, рад, что это сработало для вас! : D –

Смежные вопросы