首页新闻找找看学习计划

急!如何在后台设置IFRAME控件的SRC值?

0
悬赏园豆:50 [已解决问题] 解决于 2012-03-19 15:19

急!如何在 后台 设置iframe控件的 SRC值,其中SRC中有传三个值到另一个页面。情况很紧急,请各位大侠帮帮忙,非常感激!

问题补充:

 

属性别和分类别为联动的。点击后报表消失。我要做的就是要记录它的状态,不让它消失。

Flyyingzi77的主页 Flyyingzi77 | 初学一级 | 园豆:130
提问于:2012-03-19 09:01
< >
分享
最佳答案
1

给iframe加一个name属性如x,在另一iframe中放一个超链接,<a href="kkk.aspx?uid=abc" target="x">

这样就将uid的值传给之前定义的那个name属性为x的iframe了.

收获园豆:30
hexllo | 菜鸟二级 |园豆:405 | 2012-03-19 09:31

我这里只能有一个IFRAME,IFRAME中放的是一个报表,是因为触发了其它后台事件下面的报表就没有了。可以用后台实现IFRAME的SRC设置吗?

Flyyingzi77 | 园豆:130 (初学一级) | 2012-03-19 09:47

@Flyyingzi77:

你下个jquery库,可以加我QQ我发给你,553030761,引用jquery后,这样试试:

<script type="text/javascript">

$("#那个iframe的ID").attr("src","www.xx.xx?a=xx&b=...")

</script>

hexllo | 园豆:405 (菜鸟二级) | 2012-03-19 10:45
其他回答(3)
1

你現在是怎麼傳的呢?而那個收不到……

收获园豆:10
追夢 | 园豆:142 (初学一级) | 2012-03-19 09:22

现在是用的前台传的src,但是需要在后台再重新取SRC值,保侍之前的状态。因为有回传。

支持(0) 反对(0) Flyyingzi77 | 园豆:130 (初学一级) | 2012-03-19 09:34
0

在onload事件中设置就可以了

收获园豆:10
az235 | 园豆:8283 (大侠五级) | 2012-03-19 09:37

怎么在onload中设置IFRAME的SRC的属性呢?这个我不怎么清楚。呵呵

支持(0) 反对(0) Flyyingzi77 | 园豆:130 (初学一级) | 2012-03-19 10:00

@Flyyingzi77: 就是在onload事件中操作IFrame窗体属性,你把值丢掉页面的事件中,然后处理

支持(0) 反对(0) az235 | 园豆:8283 (大侠五级) | 2012-03-19 10:01

@az235: 

    <script type="text/javascript">
function openPrintCode() {

var stockName = document.getElementById("ddltStockName").value;
var codeNo = document.getElementById("ddltCODE_NAME").value;
var bClass = document.getElementById("ddltCLASS_NAME").value;
document.getElementById("IFRAME1").src = "PrintRpt.aspx?codeNo=" + codeNo + "&stockName=" + stockName + "&bClass=" + bClass;
document.getElementById("MyFormLayer").style.display = "block";
}


// document.getElementById("IFRAME1").onload = function(){
// alert("Iframe is now loaded.");
// }


function _onload(){

alert("Testok");
// var IFRAME1=document.getElementById("IFRAME1")
// IFRAME1.innerHTML ="<iframe onload=\"javascript:alert('loaded -includeFrame');\" src=\"http://www.phper.org.cn\"></iframe>";
// document.body.a(IFRAME1);
}
//SCRIPT 中代码
                    <tr>
<td align="center" style="width: 20%; height: 32px" colspan="2" class="td_Add_V">
<input id="Button1" type="button" onclick="openPrintCode();" value="查詢" tabindex="4" />
&nbsp;&nbsp;&nbsp;&nbsp;
<input id="btnCancel" type="button" onclick="hiddenRpt();" value="取消" tabindex="4" />
<%-- <asp:Button ID="btnCancel" runat="server" Text="取消" TabIndex="5"
onclick="btnCancel_Click"/>--%>
</td>
</tr>
</table>
<div align="center" id="MyFormLayer" style="display: none; width: 100%; height: 700px;">
<iframe frameborder="0" align="middle" id="IFRAME1" runat="server" style="border: solid #ffffff;
width: 100%; height: 95%" scrolling="no" onload="_onload();" ></iframe>
</div>

写了几种onload加载方法,运行之后会报“此处需要物件”错误,或者运行不能通过。

onload 事件怎样写运行成功。另外,我用的是IE。谢谢了。

支持(0) 反对(0) Flyyingzi77 | 园豆:130 (初学一级) | 2012-03-19 11:30

@Flyyingzi77: 你写的方法没有加到body的onload事件上去吧?

支持(0) 反对(0) az235 | 园豆:8283 (大侠五级) | 2012-03-19 11:42

@az235: 加到body中好像没有用啊,点击dropdownlist 后Iframe中的报表还是被刷新给弄没了。所以我在iframe 加了onload事件,不过我这样写报错,我在想用iframe的ONLOAD 事件可以吗,可以的话帮我修改一下噢。

支持(0) 反对(0) Flyyingzi77 | 园豆:130 (初学一级) | 2012-03-19 12:33
0

使用Web控件,包装IFRAME

public class IframeControl : System.Web.UI.Control
{
private string _url;
private Unit _width;
private Unit _height;
private Unit _borderWidth;

public string Url
{
get { return _url; }
set { _url = value; }
}

public Unit Width
{
get { return _width; }
set { _width = value; }
}

public Unit Height
{
get { return _height; }
set { _height = value; }
}

public Unit BorderWidth
{
get { return _borderWidth; }
set { _borderWidth = value; }
}

public IframeControl()
{

}

protected override void Render(HtmlTextWriter output)
{
StringBuilder sb = new StringBuilder();

sb.Append("<iframe");
sb.Append(" id='"); sb.Append(ClientID); sb.Append("'");
sb.Append(" src='"); sb.Append(_url); sb.Append("'");
sb.Append(" width='"); sb.Append(_width); sb.Append("'");
sb.Append(" height='"); sb.Append(_height); sb.Append("'");
sb.Append(">");
sb.Append("</iframe>");

output.Write(sb.ToString());
}

protected override void LoadViewState(object savedState)
{
object[] myState = (object[])savedState;
this._url = (string)myState[0];
this._width = (Unit)myState[1];
this._height = (Unit)myState[2];
this._borderWidth = (Unit)myState[3];
}

protected override object SaveViewState()
{
object[] savedState = new object[4];
savedState[0] = this._url;
savedState[1] = this._width;
savedState[2] = this._height;
savedState[3] = this._borderWidth;

return savedState;
}
}
GuYoung | 园豆:433 (菜鸟二级) | 2012-03-19 09:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册