需求:在masterpage下的一个子页面(newpage.aspx)中有一个客户端的iframe控件,在该页面点击提交后,需要将iframe中的内容提交到后台数据库。
方法:先将iframe的value提交到一个hidden控件中,然后在得到。下面的代码在普通页面可以实现,但是在masterpage下面就不行了。。
newpage内容:
<asp:Content ID="Edit" ContentPlaceHolderID="CphMaster" Runat="Server">
<asp:Label ID="lblTitle" runat="server" Text="页面标题"> </asp:Label>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="JS/JNewPage.js" type="text/javascript"> </script>
</head>
<body>
<form action="NewPage.aspx?act=add" method="post" name="form1" runat="server" id="frm" >
<input type="text", ID = "TitleName",name ="TitleName",size ="'50" onchange= "TitleNamechange()"/>
<div id ="TNresult"> </div>
<ul id="FormatUl">
<li> <a href="#" class="formatlink" id="BoldLink" title="加粗"> </a> </li>
<li> <a href="#" class="formatlink" id="ItalicLink" title="斜体"> </a> </li>
<li> <a href="#" class="formatlink" id="UnderlineLink" title="下划线"> </a> </li>
</ul>
<iframe id="HtmlEdit" name="HtmlEdit" style="WIDTH: 100%; HEIGHT: 296px" marginWidth=0 marginHeight=0 src="NewPage.aspx"> </iframe>
<asp:Button ID="savepage" runat="server" Text="提交" onclick="savepage_Click" />
<input type="hidden" name="hidValue"/>
</form>
</body>
</html></asp:Content>
newpage.cs:
protected void Page_Load(object sender, EventArgs e)
{
savepage.Attributes.Add("onClick", "document.forms[0].hidValue.value=" + Server.HtmlEncode("HtmlEdit.document.body.innerHTML") + "");//这个地方我感觉错了,document.forms[0].hidValue.value得到的是空的值。
}
protected void savepage_Click(object sender, EventArgs e)
{
String str1 = String.Empty;
str1 = Request.Form["hidValue"];//!!!!!!!!!!!!!!!!!!!!!!!这里显示是NULL。。!!!!!!!!!!!!!!!!!!!!!
Response.Write(Server.HtmlDecode(str1)); }
求高手接到
我把工程放到http://dodohu.ys168.com/了,请各位帮忙看一下哈
方法:先将iframe的value提交到一个hidden控件中,然后在得到。下面的代码在普通页面可以实现,但是在masterpage下面就不行了。。
newpage内容:
<asp:Content ID="Edit" ContentPlaceHolderID="CphMaster" Runat="Server">
<asp:Label ID="lblTitle" runat="server" Text="页面标题"> </asp:Label>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="JS/JNewPage.js" type="text/javascript"> </script>
</head>
<body>
<form action="NewPage.aspx?act=add" method="post" name="form1" runat="server" id="frm" >
<input type="text", ID = "TitleName",name ="TitleName",size ="'50" onchange= "TitleNamechange()"/>
<div id ="TNresult"> </div>
<ul id="FormatUl">
<li> <a href="#" class="formatlink" id="BoldLink" title="加粗"> </a> </li>
<li> <a href="#" class="formatlink" id="ItalicLink" title="斜体"> </a> </li>
<li> <a href="#" class="formatlink" id="UnderlineLink" title="下划线"> </a> </li>
</ul>
<iframe id="HtmlEdit" name="HtmlEdit" style="WIDTH: 100%; HEIGHT: 296px" marginWidth=0 marginHeight=0 src="NewPage.aspx"> </iframe>
<asp:Button ID="savepage" runat="server" Text="提交" onclick="savepage_Click" />
<input type="hidden" name="hidValue"/>
</form>
</body>
</html></asp:Content>
newpage.cs:
protected void Page_Load(object sender, EventArgs e)
{
savepage.Attributes.Add("onClick", "document.forms[0].hidValue.value=" + Server.HtmlEncode("HtmlEdit.document.body.innerHTML") + "");//这个地方我感觉错了,document.forms[0].hidValue.value得到的是空的值。
}
protected void savepage_Click(object sender, EventArgs e)
{
String str1 = String.Empty;
str1 = Request.Form["hidValue"];//!!!!!!!!!!!!!!!!!!!!!!!这里显示是NULL。。!!!!!!!!!!!!!!!!!!!!!
Response.Write(Server.HtmlDecode(str1)); }
求高手接到
我把工程放到http://dodohu.ys168.com/了,请各位帮忙看一下哈
<asp:Button ID="savepage" runat="server" Text="提交" onclick="savepage_Click" />
<input type="hidden" name="hidValue"/>
改成
<asp:Button ID="savepage" runat="server" Text="提交" OnClick="savepage_Click" OnClientClick="document.getElementById('hidValue').value='abc'" />
<input type="hidden" name="hidValue" id="hidValue" />然后去掉Page_Load的代码
试试能不能得到hidValue的值为'abc'