需要一些帮助。我有一个带有iframe的aspx页面,我正试图从我的代码后面传递一个名为'pageId'的变量。我已经查看了SO和其他网站上的各种示例,并且大多数人向其他人提出了数据绑定问题,并且我已经介绍了一些示例。也许我不能像我试图在iframe中那样使用变量?
我已经介绍了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 :(得分: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%>
答案 1 :(得分: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。
将iframe放在formview中并为其提供数据源。然后使用现有代码。