Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从列表框更改iframe源_C#_Asp.net - Fatal编程技术网

C# 从列表框更改iframe源

C# 从列表框更改iframe源,c#,asp.net,C#,Asp.net,我想从列表框更改iframe的源。这是我的密码 <iframe id="iframeID" frameborder="0" width="100%" height="300px"></iframe> <asp:Button ID="btnView" runat="server" Text="Pop Up HTML Preview" OnClientClick="ShowPopUp();" /> ShowPopUp =

我想从列表框更改iframe的源。这是我的密码

<iframe id="iframeID" frameborder="0" width="100%" height="300px"></iframe>
   <asp:Button ID="btnView" runat="server" Text="Pop Up HTML Preview" 
               OnClientClick="ShowPopUp();" />

 ShowPopUp = function() {
      var x = document.getElementById('<%=ListBox1.ClientID %>');
      var val = x.options[x.selectedIndex].Value;
      document.getElementById("iframeID").src = val;

ShowPopUp=函数(){
var x=document.getElementById(“”);
var val=x.options[x.selectedIndex].Value;
document.getElementById(“iframeID”).src=val;
但错误显示我有一个未定义的iframe。
怎么了?

请帮助我。谢谢:)

您可以使用jquery更改源代码:

$(“#内容”).attr('src','http://your 此处有新的源代码“;


因此,当列表框中的所选项目发生更改时,您可以调用此方法。

使用
value
,JavaScript区分大小写

 var val = x.options[x.selectedIndex].value;
并按如下所示更改客户端的
OnClientClick

<asp:Button ID="btnView" runat="server" Text="Pop Up HTML Preview" 
OnClientClick="ShowPopUp(); return false;" />


按钮单击事件向服务器发出完整的回发请求。因此,回发后,您的Ifram将再次具有默认的src值。在这里,您没有指定值作为默认的src。因此,单击按钮后将不会得到任何结果。添加
返回false
后,按钮单击将不会回发。

如果它没有从C#中执行任何操作,请拒绝rmal button-ASP倾向于在其控件ID中添加花哨的前缀(如
ContentPlaceholder 1\u btnView
),而这些前缀不能通过C代码中的
.ID
进行访问。因此,您可以通过浏览器的源代码检查器chceck这些ID(如果将它们移动到其他地方,这些ID可以更改),或者使用

<input type="button" ID="btnView" Value="Pop Up HTML Preview" 
               OnClick="ShowPopUp();" />


(相应地修改您的JS)

可能您在iframe中缺少
runat=server
,请尝试这样做
您应该使用
value
而不是
var val=x.options[x.selectedIndex]中的
value
.Value;
@fardjad谢谢。我忘了ASP.Net是多么区分大小写。将jQuery放在任何地方都不是一个解决方案,而是一个解决方案workaround@PabloLemurr但是为什么不在这段代码中使用它呢?另一个选项是调用asp方法,然后你必须进行回发或使用更新面板。我认为jquery提供了一个简单得多的解决方案将不起作用,因为在大多数情况下,ASP将更改自己的ID,正如我在文章中所解释的,此外,如果没有包含jQuery库,那么仅为执行此单一任务加载它是没有意义的,我同意,但您仍然可以使用ClientId或CSSClass:)此外,这是一个很好的例子;)