2013-03-28 47 views
0

需要一些帮助,请。我有一个带有iframe的aspx页面,我试图从后面的代码中将一个名为'pageId'的变量传递给它。我查看了SO和其他网站上的各种示例,并且大多数人都向其他人建议了一个数据绑定问题,并且我已经通过一些示例进行了跟踪。也许我不能像使用if试图在iframe中那样使用变量?asp.net cs变量在aspx页面

我已经介绍了get/set和public属性,但只是有点迷路。任何人都可以帮助我指出正确的节制吗?

aspx页面

<iframe width="690" height="600" src="https://myserver.com/Index.php?pageId=<%=pageId%>" frameborder="0" scrolling="yes" style="border-width: 0px;"></iframe> 

aspx.cs页面

protected String pageId { get; set; } 

//private string pageId; 
//public String pageId { get {return pageId; } } 

protected void Page_Load(object sender, EventArgs e) 
{ 
    string pageId = 'Y2840'; //this is generated from my db and I know the data is being stored in here as I have Response.Write(pageId) 
} 
+0

你遇到的错误是什么?或者什么都没有发生? – Tejs

+0

虽然不是这样的错误,但myserver.com/Index.php不显示pageId的值。它就像没有在那里,但当我回应写有 – JK36

+0

是在FormView内的iframe?否则可能更容易在iframe上设置id,并在代码隐藏中设置src。 – Constanta

回答

2

你的私有变量和公共财产具有相同的名称。尝试在属性名称中使用大写字母P.也不要在Page_Load中声明一个新的变量pageId。 PageId为空,因为您要设置本地Page_Load方法变量,而不是类级变量。

private string pageId; 
public string PageId { get {return pageId; } } 

protected void Page_Load(object sender, EventArgs e) 
{ 
    pageId = 'Y2840'; 
} 

在你的aspx页面:

<%=PageId%> 
+0

它仍然是空的? – JK36

+0

奇怪,你是从Page_Load方法中删除字符串的吗? –

+0

如果我只是将<%=PageId%>添加到我的aspx页面,变量将显示出来。但它没有通过我的服务器在iframe中。我想我会尝试formview方法。哦,那么近。 – JK36

0

方法1.

<iframe runat="server" id="myiframe" width="690" height="600"  
frameborder="0" scrolling="yes"  style="border-width: 0px;"></iframe> 

后台代码:

myiframe.src="https://myserver.com/Index.php?pageId=" + pageId; 

方法2.

在formview中放入iframe并为其指定数据源。然后使用您现有的代码。

相关问题